Docker

[Docker] 도커 이미지 다루기 : 도커 허브 저장소 이용

juu_98 2024. 1. 10. 16:43

도커 이미지를 사용함에 있어서 혼자 사용하기 보다는 조직 내에서 함께 도커 기반의 컨테이너 서비스를 운영하는 경우가 많기 때문에, 이미지에 대한 관리와 공유가 중요하다.

이미지 관리 및 공유를 도와주는 장치가 이미지 저장소이다. 

가장 대표적인 이미지 저장소 어플리케이션으로 도커 허브 저장소가 있다. 

 

 

 

[도커 허브 공식 사이트] 

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Build and Ship any Application Anywhere Docker Hub is the world's easiest way to create, manage, and deliver your team's container applications. Create your account Signing up for Docker is fast and free. Continue with GoogleContinue with GitHubContinue wi

hub.docker.com

 

 

 

도커 허브 Access Tokens 생성 

 

도커 허브 로그인 후, my Page -> Security 메뉴 -> new access token 클릭

 

 

Description에 내용 작성, 접근 권한을 선택한다. 

 

 

토큰이 생성되면, 이미지에서 알려주고 있는 로그인 방법과 같이 서버 내에서 접속하면 된다. 

 

 

 

 

 

docker 로그인

 

// docker login 명령어

docker login -u [도커 허브 계정]

 

도커가 설치되어 있는 서버에 접근하여 docker에 로그인한다.

로그인 시, 패스워드 입력란에 생성하였던 access tocken 값을 복사하여 입력한다. 

 

 

위에 경고문구에 패스워드가 암호화되지 않은 채로 /root/.docker/config.json 파일에 들어있다는 내용이 적혀져있다.

실제로 해당 파일 확인 시, access tocken이 암호화되지 않은 채로 보여지는것을 알 수 있다.

그러므로 보안을 위해 해당 파일은 안전하게 보관해야 한다. 

 

 

 

 

 

도커 허브에 이미지 push/pull

 

위의 내용을 모두 진행하였다면, 도커 허브 계정 생성 및 도커에 로그인을 정상적으로 완료한것이다.

이제, 도커 허브에 새로운 레포지터리를 생성하고 그 레포지터리에 이미지를 올려보는 과정에 대해서 설명하겠다. 

 

 

 

도커 허브 홈페이지 상단에 repository 메뉴에 들어가서 Create repository를 클릭한다. 

 

 

 

Repository name을 임의로 설정하고, Visibility를 Public(전체공개) , Private(비공개) 중 하나를 선택한다.

오른쪽에는 도커 이미지를 업로드 하는 명령어가 기재되어 있다. 

 

 

 

 

// 어떤 레포지토리에 올릴지 이미지 이름을 선택 

docker tag local-image:tagname new-repo:tagname

 

// 선택한 레포지토리에 이미지 업로드

docker push new-repo:tagname 

 

 

 

 

테스트를 위해 최신 버전의 nginx 이미지를 다운받은 상태에서 진행하였다.

docker images 명령어로 확인 시 nginx:latest 버전이 올라와있는것을 확인 할 수 있다.

 

 

아래 명령어를 통해 nginx:latest 이미지를 wnwls648 레포지토리에 올릴 수 있는 이미지로 tagging을 진행하였다.

# docker tag nginx:latest wnwls648/docker-test:v1.0.0

 

 

docker images 명령어로 확인 시 tagging한 wnwls648/docker-test:v1.0.0 이미지를 확인할 수 있다.

 

 

 

이 상태에서 push 명령어를 통해 docker hub의 wnwls648 레포지터리로 업로드를 진행한다. 

# docker push wnwls648/docker-test:v1.0.0

 

 

 

정상적으로 업로드 되었다면, docker hub 홈페이지에 wnwls648 레포지토리에서 업로드된 이미지를 확인할 수 있다. 

 

 

업로드 된 이미지를 다운받기 위해서는 pull 명령어를 사용한다.

# docker pull wnwls648/docker-test:v1.0.0