docker registry 配置证书和使用用户名密码登录

docker registry 配置证书和使用用户名密码登录

  1. 下载registry镜像
docker pull registry
  1. 生成自签名证书,假设当前的域名是:test.registry.com

创建目录

mkdir registry && cd registry && mkdir certs && cd certs

生成证书和私钥

cd .. && mkdir auth
docker run --entrypoint htpasswd registry -Bbn testuser password > auth/htpasswd

用户名:test 密码:pass

  1. 启动registry
docker run -d -p 5000:5000 --restart=always --name registry -v `pwd`/auth:/root/registry/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/root/registry/auth/htpasswd -v `pwd`/certs:/root/registry/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/root/registry/certs/registry.crt -e REGISTRY_HTTP_TLS_KEY=/root/registry/certs/registry.key -v /data:/var/lib/registry registry
  1. 验证

在另外一台机器或者是本机上,执行

mkdir -p /etc/docker/certs.d/test.registry.com:5000

如果此域名没有在DNS上配置,可以通过设置hosts来临时测试使用

echo "x.x.x.x test.registry.com" >> /etc/hosts

登录

docker login

就可以验证docker pull,docker push

你可能感兴趣的:(docker registry 配置证书和使用用户名密码登录)