<이론>
- 주제
- 컨테이너 Registry의 개념
- Public Docker Registry
- Private Docker Registry
컨테이너 Registry 개념
- 컨테이너 Registry : 여러 개의 컨테이너 이미지 보관창고 ==Docker Registry
- 종류
- Dokcer hub : hub.dokcer.com가 운영하는 public 저장소
- Private Registry : 사내 컨테이너 private 저장소
- 원리 도커호스트 장비에 컨테이너 빌드한 게 있는데 도커 푸시명령으로 도커 레지스트리에 업로드 하는 것.
- 태그 안달면 도커닷컴이 직접 운영하는 컨테이너가 되는거고 앞에 레파지토리를 붙여줘야 내 레파지토리라는 게 되므로 이름 꼭 붙여줘야한다.
Public Docker Registry
: hub.dokcer.com 누구나 접근 가능한 도커 허브 내의 Registry
- 설명
- 큰 단위의 레지스트리가 도커 허브이고 그 안에 개인레파지토리가 있는 것. 나만 업로드,다운로드 받을 수 있는 프라이빗 허브는 별도의 비용 지불해야함.
- 도커허브 내에서 개인 레파지토리에다가 도커허브에서 받은 컨테이너를 업로드 하거나 내가 직접 빌드한 컨테이너를 올리는 거 둘 다 가능함
- image 종류
- Official Image(도커닷컴이 직접 운영하는 이미지)
- Verified Publisher(벤더가 제공해주는 컨테이너이미지)
- 컨테이너 이미지 보는 법
- docker hub 웹브라우저에서 보기
- 커맨드라인 내에서 이미지 검색 명령어 : docker search "키워드"
Private Docker Registry
개인적(사내에서)으로 운영할 수 있는 개인적 private Registry
- 조건
- docker hub에 있는 “registry” 컨테이너 이미지 다운 필요 => 이를 통해 private 컨테이너 운영(내 저장소에 업로드/로부터 다운로드) 가능
- “Registry” 컨테이너 private 컨테이너 이미지를 레지스트리 운영할 수 있도록 도와주는 컨테이너 ex) 웹서버운영에는 nignx 컨테이너 필요한 것처럼 컨테이너 저장소 운영하려면 registry 컨테이너가 필요함.
- docker hub에 있는 “registry” 컨테이너 이미지 다운 필요 => 이를 통해 private 컨테이너 운영(내 저장소에 업로드/로부터 다운로드) 가능
- 명령어 docker run -d -p 5000:5000 --restart always --name registry registry:2
- 허브 푸시 시, public 레지스트리와의 차이점
- public 컨테이너,이름만 필요
- private 컨테이너 이름 줄 때, image repository 앞에다가 "호스트네임:포트넘버"로 태그 줘야함. (80포트는 생략 가능) (외부에서 내 컨테이너 레파지토리에 푸시하려면 localhost라 하면 안되고 hostname 또는 ip로 줘야한다) ex) localhost:5000/ubuntu:18.04 docker.exaple.com:5000/ubuntu:18.04
<실습>
- public resgistry 운영법
- private resgistry
public resgistry
hub.docker.com에 컨테이너 다운로드하고 태그 달아서 개인레파지토리에 업로드 시켜주는 법
- PROCESS
- docker search : 도커허브에서 이미지 검색 명령어docker search httpd 레파지토리명이나 description에 httpd 키워드가 포함된 컨테이너 이미지들을 도커허브에서 쭉 검색해서 보여줌
-
- offical - OK가 도커허브에서 직접 운영하고 있는 컨테이너 이미지
- 그 외 - 커뮤니티/개인이 저장하고 있는 컨테이너들임
- docker pull : 도커허브에서 이미지 다운로드 명령어docker pull httpd
- docker images / image ls : 다운로드 받은 이미지 확인
- docker login 로그아웃 하기 전까지는 로그인 세션 유지 (∵ user홈디렉토리/.docker/config.json에 인증정보가 저장)
- docker images [검색하고자 하는 이미지 아이디]
- docker push : dockerHub에 이미지 업로드
private resgistry
도커허브가 아닌, 사내/개인적으로 쓰는 private 레파지토리 간단하게 운영 하는 법
- 사용하는 경우
- 외부네트워크 안되는 곳에 만들어서 운영할 때
- 사내 전용 컨테이너 저장소 운영할 때
- PROCESS
- docker ps : 동작중인 컨테이너 확인 동작중인 컨테이너 없는 거 확인하고 여기다가 컨테이너 저장소를 만들 것이다.
- $ docker run -d -p 5000:5000 --restart always --name registry registry:2 레지스트리 컨트리 다운받고 레지스트리가 바로 실행됨. 그럼 컨테이너 5000포트 통해서 컨테이너를 업로드할 수 있게 돼 (다시 dokcer ps 해보면 registry-2라는 컨테이너 이미지 1개가 실행중임.) 이게 바로 컨테이너 저장소가 된다.
- $ docker tag http localhost:5000/httpd : 내 로컬 컨테이너 레파지토리에다가 컨테이너 이미지를 푸시 태그/컨테이너명(:직접 만든 것/웹서버/다른어플리케이션)
- cd /var/lib/docker/volumes/컨테이너이름(UUID)/_data/docker/registry/v2/repositoyies : 만든 저장소 확인 내 컴이 컨테이너저장소가 됐고 여기다가 업로드 한거야!
'DEVOPS > Docker' 카테고리의 다른 글
[따배도] 7강 - 컨테이너 리소스 관리 (0) | 2022.05.12 |
---|---|
[따배도] 6강 - 컨테이너 사용하기 (0) | 2022.05.12 |
[따배도] 4강 - 도커 컨테이너 만들어보기 (0) | 2022.05.12 |
[따배도] 3강 - 도커 컨테이너 살펴보기 (0) | 2022.05.12 |
[따배도] 2강 - 도커 설치 (0) | 2022.05.12 |
Uploaded by Notion2Tistory v1.1.0