Cloud/Docker

Docker commit 하고, dockerhub에 push 하기

jinmc 2021. 4. 13. 17:18
반응형

Docker를 사용하다 보면 그 Docker에 파일을 쓰고 그 컨테이너를 저장하고 싶을 수 있습니다.

 

#docker commit <옵션> <컨테이너 이름> <이미지 이름>:<태그>
$ docker commit tf2 eungbean/tf2:latest

예를들어, 현재 가동되는 컨테이너가 이렇게 된다고 합니다.

jinmo@jinmo-MS-7C82:~$ docker ps
CONTAINER ID   IMAGE                                 COMMAND       CREATED         STATUS         PORTS     NAMES
112948a08f8a   tensorflow/tensorflow:1.15.0rc1-gpu   "/bin/bash"   3 minutes ago   Up 3 minutes             musing_elion

이 때 ContainerID 와 Image ID를 넣는 거에 따라 그 이미지에 덧씌우느냐, 아니면 새로운 이미지를 만드느냐를 결정할 수 있습니다.

$ docker commit 112948a08f8a tensorflow/tensorflow:1.15.0rc1-gpu

이로써 도커 컨테이너와 이미지를 저장할 수 있습니다.

게다가, github 와 같이 docker hub에 docker image를 푸쉬할 수 있습니다.

 

우선, 로그인을 합니다.

 

$ docker login

편하게 하기 위해 docker id 를 환경변수로 저장해놓습니다. 

 

  $ export DOCKER_ID_USER="jimchong"

 

그 다음 태그에 달린 이미지를 올립니다.

$ docker image tag tensorflow/tensorflow:xray jimchong/xray
# $ docker image tag tensorflow/tensorflow:xray $DOCKER_ID_USER/xray

tag  를 붙이면 태그가 이렇게 바뀝니다. push 할 때 주의할 점은, 앞의 / 전에 accountId를 넣어주어야 한다는 점입니다.

이후 tag를 이용해서 push하면 됩니다.

 

$ docker image push jimchong/xray
# $ docker image push $DOCKER_ID_USER/xray
반응형