首先在registry生成用户名zhangjiayang和密码sczq123456:
sudo mkdir /auth sudo sh -c "docker run --entrypoint htpasswd registry:2.3.0 -Bbn zhangjiayang sczq123456 > /auth/htpasswd"重新启动registry容器, 指定认证方式和认证文件参数。
docker rm -f registry docker run -d \ -p 5000:5000 \ --name registry \ --restart=always \ -v /var/lib/registry:/var/lib/registry \ -v /auth:/auth \ -v /certs:/certs \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/certs/domain.crt \ -e REGISTRY_HTTP_TLS_KEY=/certs/domain.key \ -e REGISTRY_AUTH=htpasswd \ -e REGISTRY_AUTH_HTPASSWD_REALM="Registry Realm" \ -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd \ registry:2.3.0这回客户端用 docker push 192.168.202.14:5000/busybox:1.24.1 来尝试push就会失败, 这时需要我们用用户名和密码进行登录。
docker login -u zhangjiayang -p sczq123456 -e email_whatever 192.168.202.14:5000再次通过docker push命令就可以成功执行了。
更多Docker相关教程见以下内容:
Ubuntu 16.04 服务器上配置使用 Docker
在 Ubuntu 15.04 上如何安装Docker及基本用法