Docker: 이미지 생성에서 저장까지

Docker 이미지를 만들고 Repository에 저장해보기

by Walken

Docker를 배워보고자하는 생각은 늘 해왔는데, 마침 친구녀석과 공동 프로젝트를 시작하게 되면서 이참에 미뤄왔던 Docker 공부를 좀 해보게 되었다. 결론적으로 1년전에 비해 Docker는 엄청 쉬워졌다. Docker Hub(https://hub.docker.com/)에서 Git 계정을 연동한 다음에 Dockerfile에서 Base Container를 지정해주기만 하면 Docker Hub에서 알아서 이미지를 만들어준다. docker push, docker pull, docker commit 등의 커맨드를 입력할 필요도 없고, 리눅스도 필요없고 그냥 된다.


FROM node:4-onbuild
# 여기서 node는 Base Container의 이름, 4-onbuild는 버전이다.
# 그러므로 node라는 컨테이너의 4-onbuild 버전을 이용하겠다는 말이다.
# node 컨테이너는 이미 어떤 착한 분이 node 앱을 바로 올릴 수 있게 다 세팅해놓은 컨테이너다.

EXPOSE 80
# 이건 80번 포트와 컨테이너를 연결하라는 말이다.


이미 Node 앱을 하나 가지고 있는 사람이라면 Dockerfile을 만들어 위의 저 두줄을 추가하는 것만으로 Docker 이미지를 만들 수 있다. 요약하면 다음 4단계만으로 이미지 생성이 가능한 것이고, 넉넉하게 잡아서 10분이면 Docker 이미지 하나 만들 수 있다는 것이다.


Docker 회원가입

Git 계정 연동

Dockerfile 생성

Git push


물론 Docker Hub가 해주는 일을 알고 있어서 나쁠 건 없다. 친절하게도 Docker Hub에 Build Details 메뉴에서 Build 정보를 찾아보면 Build 과정이 깔끔하게 Log되어있다. 간단하게 다음 5단계과정을 거치는데 이걸 대신해주는 것이다.


node 이미지를 가지고 컨테이너 생성

Git 계정의 코드를 복사

npm install 실행

중간에 생성된 임시 컨테이너 삭제

최종 이미지 Docker Hub Repository에 업로드


뭔가 좀 허망하리만치 간단해진 이미지 생성과정에 서운함을 느꼈다면 위의 5단계를 매뉴얼로 해보는 것도 나쁘지 않다. 사실 매뉴얼도 어렵지가 않다;; 10분짜리 유튜브 비디오를 2개 보고나면 따라할 수 있는 정도...


https://www.youtube.com/watch?v=JBtWxj9l7zM


https://www.youtube.com/watch?v=K6WER0oI-qs


기본적으로 다음 6단계를 거치면 똑같은 일을 할 수 있다.


docker run으로 Base Container를 가져와서 실행하기

apt-get 등으로 필요한 어플들 설치하기

git clone으로 내 코드 가져오기

npm install으로 패키지 설치하기

docker commit으로 변경내용이 반영된 새 이미지 만들기

docker push로 Repository에 새로 만든 이미지 저장하기


윈도우 사용자냐 맥 사용자냐 리눅스 사용자냐에 따라 Docker Toolbox를 설치해야할 경우도 있는데 그건 알아서 할 일이고, 나같은 경우엔 윈도우 환경이지만 Docker Toolbox를 설치하지 않고 VirtualBox로 Ubuntu VM을 구동해서 사용했다.


다음엔 이렇게 해서 생성된 이미지를 클라우드 환경(AWS 또는 Google Cloud Platform)에 배포해보는 이야기를 해보도록 하겠다.

keyword
작가의 이전글여름의 시작, 남쪽하늘의 친구