Docker Registry 구성과 관리

docker container registry

보안상 docker hub와 같이 인터넷에 공개되는 곳에 올릴 수 없는 경우에는 Private Registry를 구축한다.

docker registry는 docker image를 회사 서버에 개별적으로 구축 관리하는 서비스다.

docker hub에 공개되어 있는 공식 image인 registry를 사용한다.

대용량은 git이나 neuxs를 사용하고 적은 용량의 컨테이너 사용을 권장한다.

docker pull registry

docker run -d \
-v /root/registry_data:/var/lib/registry \
-p 5000:5000 \
--restart=always \
--name=local-registry \
registry

curl -X GET http://192.168.137.100:5000/v2/_catalog
> {"repositories":[]}
docker image tag dbgurum/myweb:v1.0 192.168.137.100:5000/myweb:v1.0

docker images
> REPOSITORY                   TAG       IMAGE ID       CREATED        SIZE
> howokace/nginx               v1.0      e4720093a3c1   3 weeks ago    187MB
> howokace/nginx               v1.1      e4720093a3c1   3 weeks ago    187MB
> nginx                        latest    e4720093a3c1   3 weeks ago    187MB
> registry                     latest    a8781fe3b7a2   6 weeks ago    25.4MB
> 192.168.137.100:5000/myweb   v1.0      34d2c432bcb3   9 months ago   41.4MB
> dbgurum/myweb                v1.0      34d2c432bcb3   9 months ago   41.4MB

docker push 192.168.137.100:5000/myweb:v1.0
> The push refers to repository [192.168.137.100:5000/myweb]
> Get "https://192.168.137.100:5000/v2/": http: server gave HTTP response to HTTPS client

docker 데몬에 로컬 레지스트리를 등록하는 작업이 필요

# /etc/init.d/docker
DOCKER_OPTS=--insecure-registry 192.168.137.100:5000

# /etc/docker/daemon.json
{ "insecure-registries": ["192.168.137.100:5000"]}

systemctl restart docker
docker push 192.168.137.100:5000/myweb:v1.0
> The push refers to repository [192.168.137.100:5000/myweb]
> f9f93473fc62: Pushed 
> a74ae032b52a: Pushed 
> 8d68b6b128f7: Pushed 
> c8db7b4be633: Pushed 
> 0fbe8c68abd3: Pushed 
> 664eb87278f9: Pushed 
> 30085473d084: Pushed 
> d007f013021f: Pushed 
> f1417ff83b31: Pushed 
> v1.0: digest: sha256:13d3bf72f7d23e551e7ee8a2e576959f295089c9c0a97d4c4fb6903b1ef73392 size: 2198

curl -X GET http://192.168.137.100:5000/v2/myweb/tags/list
> {"name":"myweb","tags":["v1.0"]}

Last updated