-
Notifications
You must be signed in to change notification settings - Fork 6
Docker Registry
Seven Lju edited this page May 6, 2016
·
1 revision
# registry server
docker pull registry:2
# common name should be the domain name
mkdir certs registry
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -sha256 -keyout certs/cert.key -out certs/cert.crt
python -m SimpleHTTPServer &
# python -m http.server & ## for Python 3.x
htpasswd -cBb certs/htpasswd testuser testpassword
docker run -d --name registry -p 5000:5000 -v `pwd`/certs:/certs -v `pwd`/registry:/var/lib/registry \
-e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/cert.crt \
-e REGISTRY_HTTP_TLS_KEY=/certs/cert.key \
-e REGISTRY_AUTH=htpasswd \
-e REGISTRY_AUTH_HTPASSWD_REALM="Registry Auth"
-e REGISTRY_AUTH_HTPASSWD_PATH=/certs/htpasswd \
registry:2
# docker client
mkdir -p /etc/docker/certs.d/${REGISTRY_SERVER_DOMAIN_NAME}
cd /etc/docker/certs.d/${REGISTRY_SERVER_DOMAIN_NAME}
curl -o cert.crt http://${REGISTRY_SERVER_DOMAIN_NAME}:8000/certs/cert.crt
service docker stop
service docker start
# test
docker pull registry:2
docker tag registry:2 ${REGISTRY_SERVER_DOMAIN_NAME}:5000/registry:2
docker login ${REGISTRY_SERVER_DOMAIN_NAME}
docker push ${REGISTRY_SERVER_DOMAIN_NAME}:5000/registry:2
docker rmi registry:2
docker rmi ${REGISTRY_SERVER_DOMAIN_NAME}:5000/registry:2
docker pull ${REGISTRY_SERVER_DOMAIN_NAME}:5000/registry:2