도커(Docker)에서는 레지스트리(Registry)를 Public을 평소에 쓰지만
Private으로 만들어 사용 할수도 있습니다.
아래는 도커 허브(hub)로 공개된 이미지가 저장되어 있는 저장소 입니다.
우리가 이용하는 도커 이미지는 모두 도커 허브에 있습니다.
보안상의 이유등으로 레지스트리를 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
'CLOUD > CUBE' 카테고리의 다른 글
도커 컴포즈(Docker Compose) 설치(install) 및 실행(up) (0) | 2021.10.25 |
---|---|
쿠버네티스 설치(Kubernetes install) (0) | 2021.10.24 |
도커(Docker) - Dockerfile 빌드 및 이미지 생성 (0) | 2021.10.23 |
도커(Docker) 컨테이너(container) 이미지(image) 만들기 (0) | 2021.10.18 |
도커(Docker) 볼륨(Volume) 할당 (0) | 2021.10.17 |