介绍
介绍
大家已经跟着福哥学会了搭建Docker私有仓库Registry服务器了,也学会了在客户端服务器上面操作Docker私有仓库Registry了,接下来福哥要带着大家学习如何给我们的Docker私有仓库Registry服务器增加认证机制,有了认证机制之后我们的Registry服务器才会更加的安全可靠!
配置认证
创建认证
创建认证目录。
mkdir -p /data/docker.registry/etc/registry/auth/
安装htpasswd工具。
yum -y install httpd-tools
创建管理员admin,存入/data/docker.registry/etc/registry/auth/passwd里面。
htpasswd -Bbn admin registry.tongfu.net >> /data/docker.registry/etc/registry/auth/passwd
删除私有仓库容器
先把刚刚创建的私有仓库的容器删除掉。
docker rm -f registry
启动私有仓库容器
现在重新创建私有仓库的容器,配置SSL证书参数。
docker run -tid \ --name registry \ -h registry \ -p 5000:5000 \ --memory 512m \ --memory-swap -1 \ --restart always \ -v /data/docker.registry/etc/cert.d:/etc/cert.d \ -v /data/docker.registry/var/lib/registry:/var/lib/registry \ -v /data/docker.registry/etc/registry/auth:/etc/registry/auth \ -e REGISTRY_HTTP_TLS_CERTIFICATE=/etc/cert.d/registry.crt \ -e REGISTRY_HTTP_TLS_KEY=/etc/cert.d/registry.key \ -e REGISTRY_AUTH=htpasswd \ -e "REGISTRY_AUTH_HTPASSWD_REALM=Registry Realm" \ -e REGISTRY_AUTH_HTPASSWD_PATH=/etc/registry/auth/passwd \ docker.io/registry
测试
访问测试
此时我们如果要直接访问registry会提示没有认证的错误信息。
curl 'https://registry.tongfu.net:5000/v2/_catalog'
加上用户名和密码之后再次访问就正常了。
curl 'https://admin:registry.tongfu.net@registry.tongfu.net:5000/v2/_catalog'
提交带标签的 centos 镜像到私有仓库
提交centos镜像到私有仓库。
docker push registry.tongfu.net:5000/centos
提示没有认证,这里需要先完成认证才行!
登录
使用docker login登录私有仓库。
docker login https://registry.tongfu.net:5000
这里提示用户名和密码存到了/root/.docker/config.json里面了,需要删除的话可以自己编辑这个文件。
重新提交带标签的 centos 镜像到私有仓库
提交centos镜像到私有仓库。
docker push registry.tongfu.net:5000/centos
总结
今天福哥带着童鞋们学习了给Docker私有仓库Registry服务器开启认证配置,加上前面学习的给Registry服务器增加SSL证实的配置,我们增加搭建的Registry服务器就非常安全了。