도커 레지스트리란? Docker Registry?
-
도커 이미지를 사용자들끼리 공유할 수 있도록 하는 플랫폼이다.
-
이러한 레지스트리는 크게 2가지 종류, Public 레지스트리, Private 레지스트리로 나뉜다.
-
Public 레지스트리는 도커의 공식 레지스트리인 도커 허브와 기타 다른 벤더 업체들의 레지스트리가 존재한다.
-
Private 레지스트리는 사용자가 직접 레지스트리를 구축해서 자신의 내부망에서 사용(팀원이나 회사에서 공유)하거나 외부망과 연결해서 사용할 수도 있다.
도커 허브란 ? Docker Hub?
1. 접속하기 : https://hub.docker.com/
2. 계정을 만들고 로그인한다
- 로그인이 되면 다음과 같이 자신의 화면이 나온다. 여기서 자신이 올린 이미지 정보를 확인 및 설정할 수 있다.
3. 원하는 애플리케이션의 이미지를 검색한다.
- 화면 상단 돋보기로 원하는 이미지를 검색할 수 있다.
- 검색된 이미지에서 official image는 이전에 언급한 대로 해당 애플리케이션 제조사가 공식적으로 만든 이미지이다.
- 보통 이러한 공식 이미지를 바탕으로 자신의 설정에 맞게 변경하여 사용하게 된다.
- Stars는 SNS의 좋아요 랑 비슷하다고 생각하면 되며, 일반적으로 Stars가 많으면 신뢰도가 높다.
4. 해당 이미지의 상세 사항을 살펴본다.
- 영어를 아주 잘하지 못해도, 천천히 읽어보면 어느 정도 이해할 수 있다. 또는 번역 서비스를 사용할 수 있다.
- mariadb가 무엇인지 개요, 실행하는 법, 다른 애플리케이션과 연결하는 법, 라이센스, 주의사항, 매뉴얼 등 유용한 자료들이 포함되어 있다.
- 이러한 애플리케이션을 모르는 상태에서는 매뉴얼 등 자료들을 봐도 아무런 의미가 없고 이해도 못할 것이다.
- 따라서 도커를 제대로 배우기 위해서는 애플리케이션도 잘 알아야 한다.
- 도커 허브에 있는 이미지는 "이미지명:태그"의 형식을 취한다.
- 오른쪽에 검은 바탕의 글자로 docker pull mariadb라는 cli명령으로 도커가 설치된 호스트에서 이미지를 다운로드할 수 있다.
- 여기서는 태그를 넣지 않았는데, 태그를 넣지 않으면 latest 태그를 사용한다.
# 태그란?
- 태그는 이미지의 버전, 속성 등을 의미한다.
- 태그 탭을 들어가면, latest, bionic, beta, 10.5.1등이 있다.
- latest는 항상 그 시점의 최신 버전을 의미하며, 10.5.1 등은 특정 버전을 의미한다.
- 즉, 버전 별 이미지를 받아 각기 다른 버전의 동일한 프로그램을 각각 동시에 띄울 수도 있다.
- 태그 지정하여 명령어를 입력하는 경우, docker pull mariadb:latest 이렇게 : 이 붙은 형식으로 입력한다
5. 해당 이미지의 환경변수 값을 찾아본다.
- 해당 이미지를 사용하기 위해서는 정확한 환경변수를 사용할 줄 알아야 한다.
- 이러한 환경변수는 다른 블로그나 구글링보다는 offcial 한 도커 허브에서 찾는 것이 가장 정확하고 신뢰도가 높다.
- 대부분의 도커 이미지는 이러한 환경변수를 가지고 있고 이미지를 컨테이너화 (실행) 하기 전에 이러한 환경변수를 원하는 세팅에 맞게 입력해주어야 한다.
- 아래 환경변수는 도커 이미지로 실행할 mysql의 유저 정보, 비밀번호 정보, 데이터베이스 명 등을 변수로서 설정하는 방법을 알려준다.
이렇게 도커 허브를 통해 이미지 다운로드 및 개요, 설정 정보 등을 확인할 수 있다.
이후 도커 엔진이 설치된 호스트의 CLI 화면에서 도커 허브에 로그인을 한 후 이미지 다운 및 업로드가 가능하다.
(즉, 도커 허브를 쓰려면 호스트가 인터넷에 연결되어야 한다)
'IT Technology > Cloud' 카테고리의 다른 글
Docker 중요 명령어 (docker run) 운영체제, 소프트웨어 컨테이너 (0) | 2021.04.12 |
---|---|
Docker 기본명령어(컨테이너 실행, 조작 명령) (0) | 2021.03.25 |
Docker Network 기본 명령어 (0) | 2021.03.12 |
Docker Hub Login / Login permission denied 해결방법 (0) | 2021.03.10 |
클라우드란? Cloud? (0) | 2021.03.04 |