Docker

[Docker] 이미지(Image)를 Docker hub에 Push하기

언킴 2022. 3. 3. 18:46
반응형

도커를 한 개의 서버에서 작업을 하고, 본인이 만든 도커 이미지를 다른 서버에서 활용하고 싶을때 도커 허브(Docker hub)에 Push한 후 다른 서버에서 pull을 통해 다른 서버에서 가져갈 수 있을 것이다. Push와 pull에 대한 용어를 잘 모르겠다면  이전 글을 참고하자. 도커 허브에 업로드 하지 않고, 본인이 만든 Dockerfile을 전달해주는 방법도 있고, 이미지를 저장해서 tar file이나 다른 형태로 변환해 전달해주는 방법도 있을 수 있다. 일단 먼저 Push 하는 방법에 대해서 알아보자. 

 

1. Upload Docker Hub

도커 허브에 업로드 하기 위해서는 당연히 도커 허브에 계정이 있어야할 것이다. 도커 계정을 생성한 후 로그인 해보자. 

 

로그인 한 후 Repositories에 접근하고,  Create Repository를 생성해보자. 본인은 docker101tutorial이라는 이름으로 레파지토리를 생성했다. 그런다음 우리의 이미지를 해당 레파지토리에 push하면 된다. 

 

 

그럼 우리는 해당 이름을 통해 다시 도커 허브에서 이미지를 내려받을 수 있게 된다. 

$ docker login --username={dockerhub_username}

도커에 먼저 로그인을 하자. 로그인을 하게 되면 패스워드를 물어보는데, 본인 도커 허브 계정의 패스워드를 입력하자,

 

 

$ docker tag IMAGE_ID <dockerhub_username>/<repository_name>[:TAG]

만약 태깅을 하고 싶을 경우 위와 같이 태깅을 해줄 수 있다. TAG는 선택사항이므로 굳이 태깅을 안해도 상관없다. 

 

$ docker push <dockerhub_username>/<repository_name>[:TAG]

만약 태깅을 해주었다면 push 뒷단에 TAG를 작성해주어야 된다. 아니면 레파지토리를 찾지 못한다. 

 

 

본인은 ponben라는 도커 허브 계정으로 docker101tutorial이라는 레파지토리에 testing이라는 태그를 설정하여 push해주었다. 코드는 아래와 같다. 

 

$ docker login --username=ponben

# ac9c1e917df9 -> IMAGE ID
$ docker tag ac9c1e917df9 ponben/docker101tutorial:testing

$ docker push ponben/docker101tutorial:testing



$ docker pull ponben/docker101tutorial:testing

$ docker images 
REPOSITORY                 TAG          IMAGE ID       CREATED         SIZE
ubuntu                     with-git     ac9c1e917df9   17 hours ago    208MB
ponben/docker101tutorial   testing      ac9c1e917df9   17 hours ago    208MB

본인이 push한 이미지와 동일한 이미지가 pull 된 것을 확인할 수 있다.