맥북에서 도커(docker)를 설치해보고 그 과정을 정리하려고 한다.
우선 도커를 설치하기 전에 도커 계정을 만들어야 한다. (계정 생성은 Sign Up 에서 간단하게 생성할 수 있다.)
자 그럼, 계정을 만들고 로그인해서 맥에서 도커를 설치해보자.
아래의 사이트를 통해서 도커를 설치 할 수 있다.
hub.docker.com/editions/community/docker-ce-desktop-mac
사이트에 접속하게 되면 다음과 같은 화면이 나오게 된다.
추가적으로 아래로 내려보면 맥북용 도커에 대한 설명과 도커에 대한 특징 및 이점들에 대한 설명이 되어있고
설치하기 전 시스템 요구 사항들과 설치하는 방법에 대한 설명이 나와있다.
도커를 설치하려면 오른쪽에 보이는 [Get Docker] 를 누른다.
그럼 다운로드 받은 Docker.dmg 파일을 통해 도커를 설치해준다.
도커를 설치하게 되면 응용 프로그램에 설치된 도커 앱을 확인할 수 있다.
실행시켜보자.
앱을 실행하게 되면 접근 권한 관련해서 메시지가 뜨게 되는데 [OK] 를 눌러 권한을 설정해준다.
암호를 입력해 접근 권한 설정을 완료하면 아래와 같은 화면이 나오게 된다.
[Start] 를 누르게 되면 간단한 튜토리얼을 진행하게 된다.
1. 저장소 복제 (Clone)
첫 번째, 컨테이너를 생성한 후 github repository 를 복제한다.
파란색 박스 안에 적혀있는 명령어를 간단하게 설명하자면
docker run --name repo alpine/git clone https://github.com/docker/getting-started.git
alpine/git 이라는 가벼운 리눅스 이미지를 가져와 repo 라는 이름으로 컨테이너를 생성한다.
컨테이너를 생성한 후 컨테이너에 github repository를 복제해 가져왔다.
docker cp 명령어를 통해 컨테이너에 있는 파일을 호스트로 가져올 수 있다.
# 사용법
# docker cp [컨테이너명]:[경로] [파일생성경로]
docker cp repo:/git/getting-started/ .
repo 라는 컨테이너의 /git/getting-started/ 디렉토리 안에 있는 파일을 현재 내 디렉토리 위치로 가져온다는 것이다.
해당 명령어에 대한 실행 결과는 파란색 박스를 클릭하면 오른쪽 터미널에서 실행된다.
실행 결과는 다음과 같다.
2. 이미지 빌드 (Build)
두 번째, 도커 이미지는 컨테이너 전용 파일 시스템이다.
도커 이미지는 컨테이너에 필요한 모든 파일과 코드를 제공해준다.
파란색 박스에 있는 명령어를 통해 이미지를 빌드 할 수 있다.
명령어에 대한 내용을 설명해보면
cd getting-started
이전에 가져온 getting-started 디렉토리로 이동한다.
docker build -t docker101tutorial .
docker build 명령어를 통해 docker101tutorial 라는 이름으로 이미지를 현재 디렉토리에 빌드한다.
-t 옵션은 생성할 이미지 이름을 지정하기 위한 이름을 지정해주는 옵션이다.
더 자세하게 설명하자면 이미지를 빌드하기 위한 DockerFile 파일을 통해
docker101tutorial 이라는 이름으로 이미지를 생성하는 것이다.
이미지 빌드를 하기 위한 Dockerfile 에 대한 내용은 따로 정리해야겠다.
다음과 같이 이미지 빌드 결과를 확인해볼 수 있다.
3. 컨테이너 실행 (Run)
빌드한 이미지를 기반으로 컨테이너를 실행한다.
다음 명령어를 통해서 컨테이너를 실행시킬 수 있다.
# docker run [option] --name [컨테이너이름] [이미지이름]
# -d : 백그라운드 모드
# -p : 호스트와 컨테이너 포트 연결(포워딩)
docker run -d -p 80:80 --name docker-tutorial docker101tutorial
docker101tutorial 이미지를 통해 docker-tutorial 이란 이름으로 컨테이너를 실행한다는 것이다.
docker ps
그리고 위의 명령어를 통해서 현재 실행중인 컨테이너를 확인할 수 있다.
4. 공유하기 (Share)
생성한 이미지를 Docker Hub 에 저장해 공유할 수 있다고 한다.
다른 사용자들이 이미지를 쉽게 다운로드하고 실행할 수 있도록 한다.
이미지를 도커 허브에 저장하려면 로그인을 해야한다.
로그인을 하고 나니 userName 에 내 ID 가 들어가고 아래의 버튼이 활성화 되었다.
다음 명령어를 통해 내 계정으로 이미지를 도커 허브에 저장해본다.
# Usage: docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
# Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
docker tag docker101tutorial jaynam/docker101tutorial
jaynam/docker101tutorial 이라는 타겟 이미지에 docker101tutorial 이미지를 태그한다.
docker push jaynam/docker101tutorial
그리고 도커 허브에 타겟 이미지 이름을 통해 저장하면 된다.
실행 결과는 아래와 같다.
그리고 내 계정의 도커 허브에 내가 올린 이미지를 확인해볼 수 있다.
이렇게 튜토리얼을 완료하게 되면 대시보드에 대한 간단한 설명이 나온다.
대시보드에서 실행중인 컨테이너를 확인할 수 있고 컨테이너에서 실행중인 앱을 브라우저를 통해 실행할 수 있다.
docker-tutorial 컨테이러를 브라우저를 통해 실행시켜보니 localhost 를 통해 실행되는 것을 확인할 수 있었다.
브라우저에서는 도커의 대시보드, 컨테이너, 컨테이너 이미지에 대한 설명이 되어있었다.
정리
맥북에서 도커를 설치하고 튜토리얼까지 진행해보았다.
github repository 를 가져와 컨테이너를 생성해보았고 컨테이너 내의 파일들을 복사해 가져올 수 있었다.
그리고 Dockerfile 파일을 통해 이미지를 생성해 컨테이너를 실행시킬 수 있었고
내가 만든 이미지를 도커 허브를 통해 공유할 수 있었다.
이제 도커를 어떻게 사용하고 활용할 수 있는지 공부해야겠다.
'DevOps > Docker' 카테고리의 다른 글
Docker Mysql 5.7 설치하기 (0) | 2023.03.08 |
---|---|
What is Docker (2) | 2023.02.03 |
Error response from daemon: Bad response from Docker engine (0) | 2022.11.25 |
Install Docker Engine on CentOS7 (centos7 도커 설치) (1) | 2020.12.16 |
도커(Docker) centOS 설치 및 실행 & 명령어 (0) | 2020.12.12 |