Docker Hub 사용하기

이재홍 http://www.pyrasis.com 2014.08.02 ~ 2014.09.20

push 명령으로 이미지 올리기

이제 Docker Hub 공개 저장소(Public Repository)에 이미지를 올려보겠습니다. 먼저 example-nginx 디렉터리를 생성하고, Dockerfile을 작성합니다. 지금까지 계속 사용해왔던 Nginx 예제입니다.

~$ mkdir example-nginx
~$ cd example-nginx

~/example-nginx/Dockerfile

FROM ubuntu:14.04
MAINTAINER Foo Bar <exampleuser@example.com>

RUN apt-get update
RUN apt-get install -y nginx
RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf
RUN chown -R www-data:www-data /var/lib/nginx

VOLUME ["/data", "/etc/nginx/site-enabled", "/var/log/nginx"]

WORKDIR /etc/nginx

CMD ["nginx"]

EXPOSE 80
EXPOSE 443

docker build 명령으로 이미지를 생성합니다.

~/example-nginx$ sudo docker build --tag exampleuser/example-nginx:0.1 .

Docker Hub에 이미지를 올리려면 이미지 이름을 <Docker Hub 사용자 계정>/<이미지 이름>:<태그> 형식으로 생성해야 합니다. 아무 사용자 이름이나 사용할 수 있지만 내 계정 이름과 일치해야 이미지를 올릴 수 있습니다. 태그를 지정하지 않으면 latest가 됩니다.

Docker Hub에 이미지를 올리기 전에 로그인부터 합니다. 사용자 계정, 비밀번호, 가입할 때 사용한 이메일 주소를 입력합니다.

~/example-nginx$ sudo docker login
Username: exampleuser
Password:
Email: exampleuser@example.com
Login Succeeded

이제 docker push 명령으로 이미지를 올립니다.

~/example-nginx$ sudo docker push exampleuser/example-nginx:0.1

docker push <Docker Hub 사용자 계정>/<이미지 이름>:<태그> 형식입니다.

잠시 기다리면 이미지가 Docker Hub의 공개 저장소에 완전히 올라갑니다. Docker Hub 페이지에서 Repositories 메뉴를 클릭하면 방금 올렸던 <Docker Hub 사용자 계정>/example-nginx 이미지가 표시됩니다(Docker Hub에 생성된 공개 저장소가 없다면 이미지를 올렸을 때 공개 저장소가 자동으로 생성됩니다).


그림 13-5 Docker Hub 저장소에 이미지 업로드 완료

그림 13-5에서 Add Repository 버튼을 통해 공개 저장소를 미리 만든 뒤 docker push 명령으로 이미지를 올려도 됩니다. 이제 다른 사람들이 docker pull <Docker Hub 사용자 계정>/example-nginx 명령으로 example-nginx 이미지를 사용할 수 있습니다.


저작권 안내

이 웹사이트에 게시된 모든 글의 무단 복제 및 도용을 금지합니다.
  • 블로그, 게시판 등에 퍼가는 것을 금지합니다.
  • 비공개 포스트에 퍼가는 것을 금지합니다.
  • 글 내용, 그림을 발췌 및 요약하는 것을 금지합니다.
  • 링크 및 SNS 공유는 허용합니다.

Published

30 November 2014