사설 Docker 배포 - t3qdev/nextg GitHub Wiki
나만의 이미지 배포하기
개인이나 기업이 특정한 환경의 Docker 이미지를 배포하고자 할때가 있다.
Dockerfile 을 배포하여 빌더하도록 유도도 가능하지만 , 여의치 않는다면 registry 서버를 올려서 직저 배포를 할 수도 있다.
배포서버 만들기
배포서버 또한 Docker에 구성하여 쉽고 빠르게 배포서버 구성이 가능하다. 보안관련된 항목은 제외하고 빠르게 구성해 보겠다. 서버구동
# docker run -d -p 5000:5000 --name registry docker.io/registry
정말 간단하다. 호스트 서버에 방화벽이 있다면 처리도 해죠야 된다.
이제 배포할 이미지를 등록하자.
# docker tag 배포할이미지 호스트:5000/이름:버전 #버전은 옵션
# docker push 호스트:이름:버전 #버전은 옵션
tag는 존재하는 이미지에 또하나의 이름을 부여한다. 버전은 옵션이다. 기본은 latest 로 잡힌다.
호스트는 다운로드 받을곳에서 접속할 도메인이나 아이피를 넣는다.
배포 서버에서 할일은 이걸로 끝이다. 간단하다.
다운로드 서버 구성
배포서버로 부터 이미지를 다운받어 사용할 다운로드 서버의 설정이다.
기본적으로 배포는 https 를 통해 배포되어야 하지만 서버쪽에서 보안관련설정없이 http 로 배포하였다.
하지만 다운로드는 기본적으로 https 를 시도하게 되므로 오류가 난다.
이때 특정 호스트에게 http 로 접근하라고 설정을 해주어야 된다.
# vi /etc/sysconfig/docker
INSECURE_REGISTRY='--insecure-registry 호스트:5000'
insecure-registry 옵션에 접근할 호스트를 등록하고 데몬을 재시작 해야 된다.
#systemctl daemon-reload
#systemctl restart docker
이제 준비는 되었다. 그럼 다운로드 해보자.
#docker pull 호스트:5000/이름:버전
registry 서버에서 등록한 호스트 이름 버전을 pull 하면 된다.
이제 run 해서 사용만하면 된다.