안녕하세요.
이번 포스팅에서는 Docker Hub에 이미지를 push/pull을 하는 방법을
공부해볼게요.
1. 레포지토리 만들기
docker Hub에 들어가서 레포지토리를 만들겠습니다.
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이 완료되면
이미지가 로컬로 잘 들어온 것을 확인할 수 있습니다.
'인공지능 개발하기 > Backend' 카테고리의 다른 글
[Python 이슈] Python multiprocessing 구현 시 ModuleNotFoundError 발생 (1) | 2024.11.17 |
---|---|
[Docker-AWS 이슈] MacOS에서 AWS ECR에 이미지 push시 이미지 media-type이슈 (2) | 2024.10.28 |
[Docker] 6. 컨테이너에 이름 지정하기 & 이미지에 이름, 태그 지정하기 (0) | 2024.10.15 |
[Docker] 5. 이미지 구조 살펴보기 (0) | 2024.10.15 |
[Docker] 4. 컨테이너 시작, 재시작, 중지, 제거하기 / 이미지 제거하기 (0) | 2024.10.14 |