AAROH
아로새기다
AAROH

티스토리

  • 전체 (31)
    • Hyperledger Fabric (0)
    • C (0)
    • C++ (0)
    • Java (0)
    • Go (0)
    • Python (0)
    • Javascript (0)
    • R (0)
    • Spring (0)
    • Spring Boot (0)
    • Docker (22)
    • Kubernetes (1)
    • Linux (2)
    • Operating System (0)
    • MongoDB (0)
    • Application (0)
    • 끄적끄적 (4)
    • 망고연대기 (0)
    • 마이다이어리 (1)
    • 맛집탐방 (0)
    • 운동기록 (0)
    • 소소리뷰 (1)
hELLO · Designed By 정상우.
AAROH

아로새기다

Docker 톺아보기 11탄 - 컨테이너 보관창고 Registry (이론편)
Docker

Docker 톺아보기 11탄 - 컨테이너 보관창고 Registry (이론편)

2022. 12. 16. 13:04


오늘 배워볼 것은 바로 컨테이너 보관창고!!!

Registry에 대해 알아볼거야!

 

== Registry....? ==

편하게 레지스트리라고 할게!!

레지스트리가 뭘까?!?!?

 

아마 컴퓨터 좀 만져본 사람은 윈도우 레지스트리 편집기도 가끔 건드려봤을거야

'시스템의 구성정보 등을 보관해놓은 데이터베이스' 라고 하는데

쉽게 말하면 그냥 창고야 창고!

 

앞 챕터에서 만든 컨테이너 이미지를 배포했던 hub.docker.com 있지?!

도커 허브!!

도커 허브도 레지스트리의 한 종류야!

 

그럼 명쾌하게 말하자면, "컨테이너 이미지들을 저장하는 창고(저장소)" 라고 생각하면 돼!

 

엥?! 근데 레포지토리(Repository)도 컨테이너 이미지를 저장하는 창고 라고 하지 않았나.......?!

그럼 레포지토리(Repository)와 레지스트리(Registry)는 뭔 차이지?

레지스트리는 레포지토리의 상위 개념이야!

여러 개의 레포지토리들이 모여있는게 레지스트리인거지!

레지스트리는 컨테이너 이미지를 관리하는 공간이고,

레포지토리는 레지스트리 내에 컨테이너 이미지가 저장되는 공간이야

 

 

컨테이너 이미지 레지스트리는 종류가 두 가지가 있어

하나는 퍼블릭 레지스트리(Public Registry)

다른 하나는 프라이빗 레지스트리(Private Registry)

 

퍼블릭 레지스트리의 대표적인 예로는  hub.docker.com이 있어

프라이빗 레지스트리는 회사 내부에서 자체적으로 만든 레지스트리 또는 개인적인 용도로 사용하고자 만든 레지스트리 라고 보면 돼!

 

사실 회사를 다니는 개발자라면 hub.docker.com에 저장하기 보다는

사내 프로젝트를 진행 간에 보안 문제로 인해

프라이빗 레지스트리를 사내에서 자체적으로 만들어서 하는 경우가 대부분이야

 

먼저 퍼블릭 레지스트리인 Docker Hub에 대해서 알아보자!

 

 


== Docker Hub ==

https://hub.docker.com/

 

Docker Hub Container Image Library | App Containerization

Deliver your business through Docker Hub Package and publish apps and plugins as containers in Docker Hub for easy download and deployment by millions of Docker users worldwide.

hub.docker.com

우리는 지난 챕터에서 도커 허브에서 컨테이너 이미지를 pull해서 가져오기도 했고,

컨테이너 이미지를 도커 허브에 push해서 배포하기도 해봤어!

 

이 도커 허브에는 약 10만 여개의 컨테이너 이미지들이 배포되어 있어서 우리가 마음껏 가져다가 쓸 수 있어!

이 수많은 컨테이너 이미지들도 여러 종류로 나뉘는데

Docker Official Image Docker.com이 직접 관리하는 컨테이너 이미지들
Verified Publisher Docker.com에서 인증한 게시자들의 컨테이너 이미지들
Sponsored OSS Docker.com이 후원하는 오픈소스소프트웨어 컨테이너 이미지들
No Sign(아무 표시 없음) 일반 사용자들이 배포한 컨테이너 이미지들

이렇게 크게 네 가지로 나뉘는데

상위 세 가지의 컨테이너 이미지들은 Docker.com이 직접 관리하거나 인증하거나 후원하는 이미지니까

아무래도 믿을만 하겠지?!

 

이렇게 hub.docker.com 레지스트리에는 10만 여개의 컨테이너 이미지들이 있는데

너무너무너무너무 많으니까 우리도 검색을 해서 갖다써야하잖아??

 

우리가 구축해놓은 Ubuntu나 CentOS 등등의 도커 호스트에 도커가 설치되어 있고, 인터넷이 연결되어 있다면

명령으로 hub.docker.com의 컨테이너 이미지들을 검색할 수 있어!!

한 번 nginx를 검색해보자!

docker search nginx

이렇게 nginx 태그를 가진 많은 컨테이너 이미지들이 검색돼!!

Official Image도 확인할 수 있고

자동화 빌드가 설정된 Automated Image 들도 확인할 수 있어!!

번거롭게 웹 브라우저로 hub.docker.com에 접속해서 로그인하고 일일이 찾아볼 필요 없이

작업하던 도커 호스트에서 명령으로 검색해서 필요한 이미지를 가져다 쓸 수 있는거지!

 


== Private Registry 구축하기 ==

Public Registry에 대해서 알아보았으니

이번엔 Private Registry에 대해 알아보고 구축도 한 번 해보자!!

 

우리 그냥 개인적으로 공부하거나 개인 프로젝트를 진행할 때는 그냥 hub.docker.com 쓰면 되지,

굳이 프라이빗 레지스트리까지 만들어야 돼....?

라고 생각할 수 있지만

 

위에서 말했듯이 hub.docker.com은 외부 네트워크가 연결되어 있는 상태에서만 접근할 수 있어

그래서 외부 네트워크 연결이 되어 있지 않아도 내부적으로 접근 가능한 프라이빗 레지스트리를 구축하면 편리하지!

 

그럼 한 번 구축을 해보자!!!

hub.docker.com에서 registry를 검색해보자!!

검색 결과로 가장 상위에 Official Image인 registry 이미지가 있어!!

이 이미지를 사용하면 프라이빗 레지스트리를 생성할 수 있어!!

registry 이미지에 대한 자세한 정보를 알고 싶다면 직접 들어가보는 것도 좋아!!

버전, 지원 아키텍쳐 등등이랑 사용방법도 자세히 적혀있어!

 

docker run -d -p 5000:5000 --restart always --name registry registry:2
# 데몬 실행
# 5000번 포트 포워딩
# 도커 서비스를 시작하면 항상 자동으로 재시작 함(해당 컨테이너가 오류로 종료되더라도 자동 재시작)
# registry:2 버전을 registry 라는 이름을 붙여주겠다는 뜻

 

지금까지 컨테이너 이미지 레지스트리에 대한 이론을 알아봤어!

컨테이너 이미지 레지스트리에 대한 실습은 다음 챕터에서 진행하도록 하자!

다들 고생 많았어!

다음에 또 봐!!

안농!!


References

따라하며 배우는 도커(따배도) - Youtube 이성미 강사

'Docker' 카테고리의 다른 글

Docker 톺아보기 13탄 - Docker Container 사용하기 (이론편)  (0) 2022.12.20
Docker 톺아보기 12탄 - 컨테이너 보관창고 Registry (실습편)  (0) 2022.12.19
Docker 톺아보기 10탄 - 도커 컨테이너 만들어보기(실습편)  (0) 2022.12.15
Docker 톺아보기 9탄 - 도커 컨테이너 만들어보기(이론편)  (0) 2022.12.13
Docker 톺아보기 8탄 - 도커 컨테이너 살펴보기(실습편)  (1) 2022.12.09
    AAROH
    AAROH
    마가렛 해밀턴이 되고 싶은 주니어 개발자, 아로

    티스토리툴바