본문 바로가기

CLOUD/CUBE

도커(Docker) 레지스트리(Registry) 생성

반응형

도커(Docker)에서는 레지스트리(Registry)를 Public을 평소에 쓰지만

 

Private으로 만들어 사용 할수도 있습니다.

 

아래는 도커 허브(hub)로 공개된 이미지가 저장되어 있는 저장소 입니다.

 

우리가 이용하는 도커 이미지는 모두 도커 허브에 있습니다.

 

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 teams' container applications.

hub.docker.com

 

 

보안상의 이유등으로 레지스트리를 Private로 만들어 사용하기도 합니다.

 

기업에서는 완전히 독립된 온프레미스 상태로 구성하기도 하지만

 

registry 이미지를 이용하여 간단하게 구현해 봅니다.

 

VM이 2대 필요합니다.

 

1대는 Client, 1대는 Registry로 사용합니다.

 

Registry에서 이미지 설치 후 hostname도 변경해 줍니다.

 

hostname은 구분을 위해서 설정하였습니다. 스킵하셔도 됩니다.

 

* 도커는 두대의 VM에 모두 설치 되어 있어야 합니다.

 

 

docker pull registry

hostnamectl set-hostname registry

cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.56.104  registry

docker run -d --name registry -p 5000:5000 --restart=always registry

docker ps

 

 

이제 Client에서 설정해 줍니다.

 

json 파일 형식으로 맵핑 해줍니다.

 

vi /etc/docker/daemon.json

{"insecure-registries": ["registry:5000"] }

 

systemctl restart docker

 

hosts 파일에 레지스트리 서버 등록해 줍니다.

 

vi /etc/hosts
192.168.56.104  registry

 

push할 이미지에 태그를 등록해 줍니다.


docker tag hello-world registry:5000/hello-world

 

이미지 확인해 봅니다.


docker images

 

레지스트리 서버에 등록(push)해 줍니다.


docker push registry:5000/hello-world

 

 

제대로 올라갔는지 확인해 봅니다.

 

curl -X GET http://registry:5000/

 

올린 이미지를 다운받는 명령어 입니다.

 

docker image pull registry:5000/hello-world

 

실행 명령어 입니다.

 

docker run -d registry:5000/hello-world

 

 

아래는 Docker hub 이용법 입니다.

 

일단 회원가입이 선행되어야 합니다.

 

로그인을 합니다. 아래 명령어 입력하면 계정과 비밀번호를 입력하라고 합니다.

 

docker login

 

아래 경로에 로그인 정보가 입력됩니다.

 

cat ./docker/config.json

 

push할 이미지에 태그를 답니다. [계정]/[태그명] 형식입니다.


docker tag registry:5000/hello-world khk0211/test

 

push 합니다.

docker push khk0211/test

 

계정에 올린 모든 이미지가 나옵니다.

docker search khk0211

 

 

 

 

 

 

 

 

 

 

 

 

 

반응형