Docker Private Registry

4e5ung·2021년 10월 18일
0

Docker Private Registry 설치

docker image pull registry

docker container run -d -p []:[port] --name [컨테이너명] registry

docker container run -d -p 5000:5000 --name registry registry

부팅 시 자동 시작은 --restart=always 옵션

Registry 등록

이미지 명 변경

docker image tag [기존 이미지명][사용자명]/[생성할 이미지명]

docker image tag hadoop_image:latest 127.0.0.1:5000/hadoop_image:latest

이미지 PUSH

docker image push [사용자명]/[이미지명]

docker image push 127.0.0.1:5000/hadoop_image:latest

등록된 이미지 확인

curl -X GET http://[경로]:5000/v2/_catalog
curl -X GET http://[경로]:5000/v2/docker-nginx/tags/list

웹페이지 구축

docker pull hyper/docker-registry-web

docker run -it -p 8080:8080 --name [hyper/registry-web 이미지가 사용할 컨테이너명] --list [현재 동작중인 registry 컨테이너명] -e REGISTRY_URL=http://[현재 동작중인 registry 컨테이너명]:[현재 동작중인 registry 포트]/v2 -e REGISTRY_NAME=localhost:5000 hyper/docker-registry-web

docker run -it -p 8080:8080 --name registry-web --link registry -e REGISTRY_URL=http://registry:5000/v2 -e REGISTRY_NAME=127.0.0.1:5000 hyper/docker-registry-web 

Registry 이미지 가져오기

docker pull [경로]:5000/hadoop_image:latest

권한 오류

Error response from daemon: Get https://192.168.56.1:5000/v1/_ping: http: server gave HTTP response to HTTPS client

$ vi /etc/docker/daemon.json

{
    "insecure-registries": ["[경로]:5000"]
}

docker 재시작

flush changes

sudo systemctl daemon-reload

restart docker

sudo systemctl restart docker

Registry 사용자 설정

사설 SSL 인증서 발급 필요.

openssl req -newkey rsa:4096 -nodes -sha256 -keyout ~/data/certs/server.key -x509 -days 36500 -out ~/data/certs/server.crt

docker pull registry:2.7.0 이상 필요.

docker run --entrypoint htpasswd registry:2.7.0 -Bbn "userid" "passwd" > [경로]/auth/htpasswd
docker run -d \
  --restart=always \
  --name docker-registry \
  -v [경로]/registry/certs:/certs \
  -v [경로]/registry/auth:/auth \
  -e REGISTRY_AUTH=htpasswd \
  -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \
  -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \
  -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/server.crt \
  -e REGISTRY_HTTP_TLS_KEY=/certs/server.key \
  -e REGISTRY_STORAGE_DELETE_ENABLED=true \
  -p 5000:5000 \
  registry:2.7.0

docker login

docker login [경로]

오류
Remote error from secret service: org.freedesktop.Secret.Error.IsLocked: Cannot create an item in a locked collection

sudo apt install gnupg2 pass 

0개의 댓글