Docker私有仓库Registry服务器开启认证配置【20220319】

发表于 2022-03-18 10:45:55
阅读 274

介绍

介绍

大家已经跟着福哥学会了搭建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'

home/topic/2022/0322/17/4f72a258d412f24856c841031a88dcfa.png

加上用户名和密码之后再次访问就正常了。

curl 'https://admin:registry.tongfu.net@registry.tongfu.net:5000/v2/_catalog'

home/topic/2022/0322/17/add9b31cdd3477c8bd90a0bffe28cf72.png

提交带标签的 centos 镜像到私有仓库

提交centos镜像到私有仓库。

docker push registry.tongfu.net:5000/centos

home/topic/2022/0322/17/95cf4c9614d55a797fb70ad1d8cf6bc5.png

提示没有认证,这里需要先完成认证才行!

登录

使用docker login登录私有仓库。

docker login https://registry.tongfu.net:5000

home/topic/2022/0322/17/ff49892fa5f78da8746419bc5eeefaa4.png

这里提示用户名和密码存到了/root/.docker/config.json里面了,需要删除的话可以自己编辑这个文件。

home/topic/2022/0322/17/e6baf0db252f39028412cb3b071bde30.png

重新提交带标签的 centos 镜像到私有仓库

提交centos镜像到私有仓库。

docker push registry.tongfu.net:5000/centos

home/topic/2022/0322/17/8011373d8758959e1db0103f14930872.png

总结

今天福哥带着童鞋们学习了给Docker私有仓库Registry服务器开启认证配置,加上前面学习的给Registry服务器增加SSL证实的配置,我们增加搭建的Registry服务器就非常安全了。