욱'S 노트

Docker - Tag, push, and pull your image 본문

Programming/Docker

Docker - Tag, push, and pull your image

devsun 2016. 2. 2. 15:32

이번 섹션에서는 우리가 생성한 리파지토리에 docker-whale 이미지를 태그하고 푸쉬 해보겠다. 이것이 끝나면 우리는 리파지토리로 부터 새로운 이미지를 풀해보겠다.


Step 1: Tag and push the image


아직 터미널을 열지 않았다면 터미널을 열어라.


터미널이 오픈되면 당신이 현재 가지고 있는 도커 이미지를 확인해보자. docker images라고 명령을 수행해보자.


$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

hello-world         latest              af340544ed62        5 months ago        960 B

docker/whalesay     latest              fb434121fc77        8 months ago        247 MB


docker-whalesay 이미지의 아이디를 확인해보자.


이 예제에서 아이디는  fb434121fc77.


여기서 주의할 점은 REPOSITORY는 repository를 보여준다. 하지만 docker-whalesay의 네임 스페이스는 아니다. 우리는 도커 허브를 위한 네임스페이스를 포함할 필요가 있는데 이때는 계정과 네임스페이스를 연관지어야 한다. 일단 네임스페이스는 당신의 계정명과 같다.


이미지 아이디를 이용해서 도커  tag 명령과 함께 docker-whale이미지를 태그해보자.


커맨드는 다음과 같이 구성된다.


물론 계정과 이미지 아이디는 당신의 것을 입력해야 한다.


toddsonui-MacBook-Pro:~ devsun$ docker tag fb434121fc77 devsun98/whalesay:latest

toddsonui-MacBook-Pro:~ devsun$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

hello-world         latest              af340544ed62        5 months ago        960 B

docker/whalesay     latest              fb434121fc77        8 months ago        247 MB

devsun98/whalesay   latest              fb434121fc77        8 months ago        247 MB


도커 login 명령을 이용해서 도커 허브에  로그인을 수행하자.

로그인 명령은 다음과 같다. 패스워드를 정확하게 입력하여 로그인에 성공하면 다음과 같은 메시지가 나온다.

$ docker login --username=devsun98 --email=devsun98@gmail.com

Password:

WARNING: login credentials saved in /Users/devsun/.docker/config.json

Login Succeeded


도커 push 명령을 이용해서 도커허브에 푸쉬해보자.

$ docker push devsun98/whalesay

The push refers to a repository [docker.io/devsun98/whalesay] (len: 1)

fb434121fc77: Image successfully pushed

5d5bd9951e26: Image successfully pushed

99da72cfe067: Image successfully pushed

1722f41ddcb5: Image already exists

5b74edbcaa5b: Image successfully pushed

676c4a1897e6: Image successfully pushed

07f8e8c5e660: Image already exists

37bea4ee0c81: Image successfully pushed

a82efea989f9: Image successfully pushed

e9e06b06e14c: Image successfully pushed

latest: digest: sha256:a2e441ff31d2fe62938075525bd63ac03dc47ae9d4a5682d20f36cae94f4ba02 size: 18390


도커허브의 프로파일로 가보면 새로운 이미지를 확인할 수 있다.



Step 2: Pull your new image


마지막으로 당신이 푸쉬한 이미지를 풀해보겠다. 수행하기전에 로컬 머신에 있는 오리지날 이미지를 삭제할 필요가 있다. 만약 로컬 머신에 이미지가 남아 있다면 도커는 풀하지 않을 것이다. - 왜냐? 두 이미지가 같기 때문이다.



로컬 머신에 있는 이미지를 확인해보자.


$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE

hello-world         latest              af340544ed62        5 months ago        960 B

docker/whalesay     latest              fb434121fc77        8 months ago        247 MB

devsun98/whalesay   latest              fb434121fc77        8 months ago        247 MB


도커 rmi 명령을 이용해서 docker/whalesay 이미지와 devsun98/whalesay 이미지를 모두 삭제해보자.


아이디 또는 이름으로 삭제할 수 있다. 


$ docker rmi -f fb434121fc77

$ docker rmi -f whalesay


도커 pull 명령으로 리파지토리부터 새로운 이미지를 풀해보자.


로컬 머신에는 이미지가 없기때문에 도커는 다운로드할 것이다. 


$ docker pull devsun98/whalesay

Using default tag: latest

latest: Pulling from devsun98/whalesay

e9e06b06e14c: Pull complete

a82efea989f9: Pull complete

37bea4ee0c81: Pull complete

07f8e8c5e660: Pull complete

676c4a1897e6: Pull complete

5b74edbcaa5b: Pull complete

1722f41ddcb5: Pull complete

99da72cfe067: Pull complete

5d5bd9951e26: Pull complete

fb434121fc77: Pull complete

Digest: sha256:a2e441ff31d2fe62938075525bd63ac03dc47ae9d4a5682d20f36cae94f4ba02

Status: Downloaded newer image for devsun98/whalesay:latest




Comments