Skip to content
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
Clone this wiki locally