DevOps/Docker

[Docker] 기초 시리즈 (5) 도커 이미지 다루기 - Docker Hub(Registry)

유자맛바나나 2022. 6. 7. 03:31

 

[도커 기초 시리즈 포스팅]

[Docker] 기초 시리즈 (1) 도커의 개념과 사용이유

[Docker] 기초 시리즈 (2) Ubuntu에 도커 엔진 설치

[Docker] 기초 시리즈 (3) 이미지와 컨테이너 관계, 도커 아키텍처

[Docker] 기초 시리즈 (4) 도커 이미지의 구조

[Docker] 기초 시리즈 (5) 도커 이미지 다루기 - Docker Hub(Registry) (Now)

[Docker] 기초 시리즈 (6) 도커 이미지 다루기 - 이미지 직접 생성

[Docker] 기초 시리즈 (7) 자주 사용하는 Dockerfile 명령어

[Docker] 기초 시리즈 (8) 자주 사용하는 도커 명령어 모음

[Docker] 기초 시리즈 (9) 도커 컨테이너 - 개념, 기본 사용법

[Docker] 기초 시리즈 (10) 도커 컨테이너 - Volume 관리

 

❑ 도커 이미지 다루기 - Docker Hub

Docker Hub를 통해 이미지를 다루는 것은 저장소를 통해 다른 사람의 이미지를 내려 받아 사용하는 것을 의미한다. 즉, Nginx, MySQL 등을 구동할 수 있는 이미지 또는 내가 개발한 어플리케이션을 담을 Base Image 등을 Docker Hub에서 구할 수 있다.

[참고] 도커 이미지 이름 구성

더보기
{저장소 이름}/{이미지 이름}:{이미지 태그}

예시: citronbanana/nginx:1.41
예시: citronbanana/nginx:latest
  • 도커 이미지 Pull / Push 시 저장소 이름을 생략하면 기본 저장소인 도커 허브로 인식한다

 

1) Search: 도커 허브에서 이미지 검색하기

방법1. 도커 허브 홈페이지에서 검색

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.

hub.docker.com



도커 허브 홈페이지의 상단 검색바를 이용해 원하는 이미지를 검색할 수 있다. 특히, DOCKER OFFICIAL IMAGE 컨텐츠는 도커팀에서 직접 관리하는 이미지이므로 신뢰성이 높고, 유지보수가 잘 되고 있는 이미지로 볼 수 있다.

 

[참고] 도커파일 확인

각 이미지 페이지를 들어가면 버전 별로 작성된 Dockerfile 링크를 확인할 수 있다. 이를 통해 해당 이미지가 어떤 식으로 빌드되는지 참고할 수 있으므로 잘 기억해두는 것이 좋다.

 

방법2. 도커 CLI를 통해 검색

search
  • docker hub에서 이미지를 검색한다. 검색 결과는 도커 허브 홈페이지에서 검색한 것과 동일하다.
$ docker search [이미지 명]
예) $ docker search mysql

 

2) Pull: 도커 허브에서 이미지 가져오기

pull
  • 도커 이미지를 docker hub에서 다운로드. 태그를 작성하지 않을 경우 최신 버전을 받는다.
$ docker pull [이미지 명]:[태그]
예) $ docker pull mysql:8.0.29

 

3) Push: 도커 허브에 이미지 업로드하기

도커 허브에 이미지를 업로드는 도커 허브 ID로 로그인 후 사용할 수 있다.

login
  • docker hub에 로그인한다.
$ docker login -u [ID]
예) $ docker login -u citronbanana

 

push
  • 도커 이미지를 docker hub에 업로드. (주의) 이미지 명 앞에 유저의 도커 허브 ID를 작성해야 한다.
$ docker push [도커 허브 ID/이미지 명]:[태그]
예) $ docker push citronbanana/myImage:0.0.1

*도커 허브 ID: citronbanana

 

❑ 도커 허브 로그인 권한 설정

도커 허브 계정 로그인을 위한 Access Token을 발급받을 수 있다.

1. 우측 상단의 계정명을 클릭해 Account Settings로 진입한다


2. 좌측 Security 탭 클릭 후 New Access Token을 입력한다


3. Token Description 입력, Access Permission을 선택 후 Generate 클릭


4. 발급된 Access Token을 Copy

5. Access Token을 이용해 로그인

  • password(Access Token)이 /home/ubuntu/./docker/config.json에 암호되지 않은 채 보관되었다는 경고가 나온다. 따라서 해당 파일을 안전하게 보관해야 한다.