코알못

[Docker] 도커 허브를 통한 이미지 관리 본문

ETC

[Docker] 도커 허브를 통한 이미지 관리

코린이s 2022. 11. 25. 19:17
728x90

이번 시간에는 이미지 저장 관리를 위한 도커 공식 저장소 [도커 허브]를 통해 이미지 관리를 해보자!

도커 허브에 접속하여 로그인을 한뒤 Account Settings 클릭한다.

아래와 같이 클릭하여 토큰을 생성한다.

적당한 설명을 적고 테스트 이므로 모든 권한을 부여하여 생성한다.

아래와 같이 로그인 방법이 안내 되며 로그인을 위한 토큰이 생성된다.

이제 도커에 로그인 해보자!

$ docker login -u [유저명]
Password:
Login Succeeded

정상적으로 로그인 되었다면 도커 허브에 저장소를 이용해보자!

아래와 같이 Reposiroties를 클릭후 생성 버튼을 클릭한다.

저장소명, 설명을 기입하고 공개하지 않을 예정이므로 Private를 선택한다.

그리고 create 버튼을 눌러 생성한다.

정상적으로 생성된 화면을 볼 수 있다.

이제 저장소에 이미지 파일을 업로드 해보자!

업로드 할 이미지의 태그를 붙여 이미지를 생성한다.

$ docker tag corin-ubuntu:v1 [유저명]/corin-ubuntu:v1
$ docker images
REPOSITORY                    TAG       IMAGE ID       CREATED             SIZE
corin-ubuntu                  v1        946704090634   About an hour ago   72.8MB
[유저명]/corin-ubuntu           v1        946704090634   About an hour ago   72.8MB
grafana/grafana               latest    eb4a939d5821   2 days ago          342MB
nginx                         latest    88736fe82739   9 days ago          142MB
ubuntu                        focal     680e5dfb52c7   4 weeks ago         72.8MB

이미지를 도커 허브 저장소에 업로드 한다.

$ docker push [유저명]/corin-ubuntu:v1
The push refers to repository [docker.io/[유저명]/corin-ubuntu]
9ce1af868882: Pushed
f4462d5b2da2: Pushing [==============>                                    ]  21.77MB/72.79MB
f4462d5b2da2: Pushed
v1: digest: sha256:1ce7435fd47133cdc71a351f74bbc1726ce146c980cd94f5a6c99ec74afd090d size: 736

도커 허브가서 확인해보면 정상적으로 V1 버전으로 업로드 된 것을 볼 수 있다.

이제 로컬 저장소의 이미지를 삭제하고 도커 허브 저장소에서 불러오는 실습을 진행한다.

로컬 저장소 이미지를 삭제 하고 정상적으로 제거 된것을 확인 한다.

$ docker rmi [유저명]/corin-ubuntu:v1
Untagged: [유저명]/corin-ubuntu:v1
Untagged: [유저명]/corin-ubuntu@sha256:1ce7435fd47133cdc71a351f74bbc1726ce146c980cd94f5a6c99ec74afd090d
$ docker images
REPOSITORY        TAG       IMAGE ID       CREATED       SIZE
corin-ubuntu      v1        946704090634   2 hours ago   72.8MB
grafana/grafana   latest    eb4a939d5821   2 days ago    342MB
nginx             latest    88736fe82739   9 days ago    142MB
ubuntu            focal     680e5dfb52c7   4 weeks ago   72.8MB

pull 명령어로 도커 허브 저장소에서 이미지를 다운 받는다.

$ docker pull [유저명]/corin-ubuntu:v1
v1: Pulling from [유저명]/corin-ubuntu
Digest: sha256:1ce7435fd47133cdc71a351f74bbc1726ce146c980cd94f5a6c99ec74afd090d
Status: Downloaded newer image for [유저명]/corin-ubuntu:v1
docker.io/[유저명]/corin-ubuntu:v1

정상적으로 다운 받아진것을 확인 할 수 있다.

$ docker images
REPOSITORY               TAG       IMAGE ID       CREATED       SIZE
corin-ubuntu             v1        946704090634   2 hours ago   72.8MB
[유저명]/corin-ubuntu   v1        946704090634   2 hours ago   72.8MB
grafana/grafana          latest    eb4a939d5821   2 days ago    342MB
nginx                    latest    88736fe82739   9 days ago    142MB
ubuntu                   focal     680e5dfb52c7   4 weeks ago   72.8MB

private 설정 이므로 다른 사용자가 이미지를 다운로드 할 수 없는지 확인해본다.

테스트를 위해 로그아웃을 한다.

$ docker logout
Removing login credentials for https://index.docker.io/v1/

해당 이미지를 로컬 저장소에서 삭제한다. 

$ docker rmi [유저명]/corin-ubuntu:v1
Untagged: [유저명]/corin-ubuntu:v1
Untagged: [유저명]/corin-ubuntu@sha256:1ce7435fd47133cdc71a351f74bbc1726ce146c980cd94f5a6c99ec74afd090d
$ docker images
REPOSITORY        TAG       IMAGE ID       CREATED       SIZE
corin-ubuntu      v1        946704090634   2 hours ago   72.8MB
grafana/grafana   latest    eb4a939d5821   2 days ago    342MB
nginx             latest    88736fe82739   9 days ago    142MB
ubuntu            focal     680e5dfb52c7   4 weeks ago   72.8MB

도커 허브 저장소에서 이미지를 가져오는 명령어를 입력한다.

$ docker pull [유저명]/corin-ubuntu:v1
Error response from daemon: pull access denied for [유저명]/corin-ubuntu, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

권한이 없어 다운로드 할 수 없다는 메세지가 나오며 정상적으로 거절 된다.

끝!

728x90
Comments