본문 바로가기
인공지능 개발하기/Backend

[Docker] 7. Docker Hub에 이미지 push/ pull 하기

by 선의공 2024. 10. 15.

 

 

안녕하세요.

이번 포스팅에서는 Docker Hub에 이미지를 push/pull을 하는 방법을 

공부해볼게요.

 

 


 

1. 레포지토리 만들기

 

docker Hub에 들어가서 레포지토리를 만들겠습니다.

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Increase your reach and adoption on Docker Hub With a Docker Verified Publisher subscription, you'll increase trust, boost discoverability, get exclusive data insights, and much more.

hub.docker.com

 

 

Docker Hub페이지에서 Create a Repository 페이지에 들어가서

 

 

Repository Name, description, Visibility여부를 선택해서 생성해줍니다.

저는 free plan 이므로 private 레포지토리를 1개밖에 생성하지 못한다고 나오네요!

 

생성을 하면 우측에 사용할 수 있는 Command를 생성해줍니다.

 

 


 

2. 레포지토리명:태그로 이미지 생성 or 복사하기

 

2-1. 만약 새로운 이미지를 생성할 거라면

Dockerfile이 생성된 로컬 디렉토리로 이동 후 

새로 이미지 build를 진행합니다.

docker build -t <dockerhub닉네임/레포지토리명>

 

 

2.2. 기존 이미지를 사용할 거라면

이미지를 복사해줍니다.

아래는 기존의 이미지 리스트업이구요,

 

aigae라는 이미지를 aikong2024/aigae-ddo-python 이라는 이름의 레포지토리로

복사하겠습니다.

docker tag <기존레포지토리명:태그명> <복사레포지토리명:태그명>

 

docker images로 확인해보면 이미지가 잘 복사되었습니다.

 

 


 

3. 이미지 push 하기

아까 Docker에서 생성해준 commands를 입력해볼게요.

 

저는 태그를 1.0.0이라고 생성했으니 이름뒤에 :1.0.0을 붙여넣어줬습니다.

 

아래와 같이 push가 되는 것을 확인하시고

 

Docker Hub에 들어가보면 지정한 tag로 Docker Hub 레포지토리에 잘 올라간 모습을 확인할 수 있습니다.

 

 

 

+) 만약 access error가 난다면

docker login

을 진행해주시면 됩니다,


 

4. 이미지 pull하기

 

일단 저는 먼저 헷갈릴 것 같아서, 로컬의 모든 이미지를 제거해줄게요.

docker image prune -a

 

컨테이너가 사용하고 있는 이미지 외의 모든 이미지가 제거 되었습니다.

 

이제 아까 생성한 도커 이미지를 pull 해보겠습니다.

docker pull <DockerHub닉네임/레포지토리:태그>

 

pull이 완료되면

 

이미지가 로컬로 잘 들어온 것을 확인할 수 있습니다.