이번 포스팅에서는 Docker Hub 생성 및 이미지 업로드하는 방법에 대해서 설명합니다.
Docker Registry 는 도커 이미지를 보관하는 저장소 서버입니다. Docker Hub 는 누구나 사용할 수 있도록 공개된 도커 이미지가 등록되어 있으며, 개인적으로 Docker Registry 를 구축하여 이미지를 저장하고 받아 쓸 수 있습니다.
Docker Hub 가입부터 로컬 데스크탑에서 docker hub로 접근하여 이미지를 push, pull 하는 과정을 설명해보겠습니다.
1. Docker Hub 가입
Docker Hub 공식 홈페이지에 들어가서 회원가입을 하고 로그인을 한다. ( https://hub.docker.com/ )
Docker Hub Container Image Library | App Containerization
Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.
hub.docker.com
2. Docker Registry 생성
회원가입이 완료가 되면, "Create A Repository" 를 클릭하여 저장소 생성 화면으로 넘어간다.
Repositroy 생성 화면에서 Repository name 을 입력하고 사설 저장소 또는 공개 저장소로 선택하여 생성합니다.
Public 은 누구나 접근이 가능한 저장소이며, Private는 본인만 접근이 가능한 저장소입니다.
3. Local 에서 docker hub login
내 local PC에 이미지를 사전에 다른 docker registry 에서 pull 받아 해당 이미지를 docker hub에 이미지 push 할 것입니다.
아래의 목록은 현재 local PC 에 있는 이미지 목록입니다.
docker image 를 푸시하기 전에 docker login 명력어를 사용해 도커 레지스트리에 로그인해줍니다.
4. Docker Registry 에 image push
docker 이미지 태그 변경하고 docker hub 에 이미지를 업로드 합니다.
#이미지 태그 변경
kangjimin@gangjimin-ui-MacBookAir > ~ > docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
spack/centos6 latest f60cc9131f67 23 months ago 782MB
kangjimin@gangjimin-ui-MacBookAir > ~ > docker image tag spack/centos6 kangjimin/centos6:0.1
kangjimin@gangjimin-ui-MacBookAir > ~ > docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
kangjimin/centos6 0.1 f60cc9131f67 23 months ago 782MB
spack/centos6 latest f60cc9131f67 23 months ago 782MB
** 이미지를 docker hub 에 업로드할 때 "denied: requested access to the resource is denied" 에러가 발생할 수 있습니다.
- 1. docker hub에 로그인이 되지 않을 경우
- 2. user name과 docker hub 에 로그인된 ID가 일치하지 않을 경우
저 같은 경우에는 user name 과 docker hub 에 로그인된 ID 가 일치하지 않아서 발생되어 이미지 태그를 로그인 ID 로 변경 후에 push 하였습니다.
✘ kangjimin@gangjimin-ui-MacBookAir > ~ > docker image push kangjimin/centos6:0.1
Using default tag: latest
The push refers to repository [docker.io/kangjimin/centos6]
60fc986e9a0a: Preparing
5f70bf18a086: Preparing
3c1a62c8e170: Preparing
8627b78320a3: Preparing
6c1bfa0c862f: Preparing
580766e72a1b: Waiting
ace65ffd0eed: Waiting
70d3be3e1bd8: Waiting
91b63a80a35a: Waiting
94be618d32b7: Waiting
df8e59d5e689: Waiting
df52fde34ac3: Waiting
af6bf1987c2e: Waiting
denied: requested access to the resource is denied
# docker 이미지 삭제
kangjimin@gangjimin-ui-MacBookAir ~ docker rmi kangjimin/centos6:0.1
Untagged: kangjimin/centos6:0.1
Untagged: kangjimin/centos6@sha256:2bb4594a19a39569eb65b67df9211ae75d23b6e34a00a155769f1e9810f243e4
# docker image 태그 수정
docker image tag spack/centos6 kangjimin/tibero_test:0.1
kangjimin@gangjimin-ui-MacBookAir > ~ > docker image push kangjimin/tibero_test:0.1
The push refers to repository [docker.io/kangjimin/tibero_test]
60fc986e9a0a: Pushed
5f70bf18a086: Pushed
3c1a62c8e170: Pushed
8627b78320a3: Pushed
6c1bfa0c862f: Pushed
580766e72a1b: Pushed
ace65ffd0eed: Pushed
70d3be3e1bd8: Pushed
91b63a80a35a: Pushed
94be618d32b7: Pushed
df8e59d5e689: Pushed
df52fde34ac3: Pushed
af6bf1987c2e: Pushed
0.1: digest: sha256:2bb4594a19a39569eb65b67df9211ae75d23b6e34a00a155769f1e9810f243e4 size: 3242
Docker Hub 에 정상적으로 등록된 것을 확인할 수 있습니다.
5. Docker Hub Logout
Docker hub logout 하여 접속을 종료합니다.
'공부 > Docker' 카테고리의 다른 글
[Docker] Docker image 삭제하는 방법 (0) | 2025.02.01 |
---|---|
[Docker] Docker 컨테이너 강제로 kill 시키는 방법 (0) | 2025.02.01 |
[Docker] Docker image 목록 조회하기 (0) | 2025.02.01 |
[Docker] VS Code 와 docker 연동하기 (1) | 2025.02.01 |
[Docker] MacOS 에 docker 설치하기 (0) | 2023.06.28 |