书接前文,上回书说到搭建本地私有docker镜像仓库的第二种情况,https不带用户名密码认证的情况,不需要修改docker的配置,需要创建并使用证书,本周咱们继续,
3、https带用户名密码认证的情况
这种情况是在上期https不带用户名密码认证的基础上又多增加了用户名密码认证,证书的创建和使用过程一样,这里不再赘述,
创建用户名密码,admin/123456,注意这里用的registry的2.7.0版本,因为多次验证发现latest版本有问题,2.7.0版本是在网上搜问题时看到提示建议使用的,
mkdir /opt/data/auth,
cd /opt/data,
docker run --entrypoint htpasswd registry:2.7.0 -Bbn admin 123456 > auth/htpasswd,
最后就还是启动本地镜像仓库容器实例,不仅挂载证书,还挂载用户名密码,当然也还是用registry的2.7.0版本的镜像,
docker run -d -p 5000:5000 --restart=always --privileged=true -v /root/docker/registry:/var/lib/registry -v /root/certs/:/root/certs -e REGISTRY_HTTP_TLS_CERTIFICATE=/root/certs/server.crt -e REGISTRY_HTTP_TLS_KEY=/root/certs/server.key -v /opt/data/auth:/auth -e "REGISTRY_AUTH=htpasswd" -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" -e REGISTRY_AUTH_HTPASSWD_PATH=/auth/htpasswd registry:2.7.0,
为了能够正常访问,还是需要把证书拷贝到docker的指定路径,
cd /etc/docker/certs.d,mkdir 192.168.137.25:5000,
cp /root/certs/server.crt /etc/docker/certs.d/192.168.137.25:5000/ca.crt,
先登录一下,形成缓存,以后不用再重复登录,
docker login -u admin -p 123456 192.168.137.25:5000,
剩下的向仓库传镜像和再从这个本地仓库把镜像下载回来的验证过程跟往期一样,就不赘述了。
本文始发于微信公众号(云计算和网络安全技术实践):搭建自己的docker镜像仓库(三)
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论