如何在Linux系统上部署docker私有仓库

60次阅读
没有评论

共计 2372 个字符,预计需要花费 6 分钟才能阅读完成。

自动写代码机器人,免费开通

这篇文章给大家分享的是有关如何在 Linux 系统上部署 docker 私有仓库的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。

修改配置 http 访问

[root@test01 ~]# cat /etc/docker/daemon.json
{registry-mirrors : [ https://registry.docker-cn.com], insecure-registries :[192.168.1.30:5000]}

如果不这样配置,结果如下。这个问题可能是由于客户端采用 https,docker registry 未采用 https 服务所致。一种处理方式是把客户对地址“192.168.1.30:5000”请求改为 http

[root@test01 ~]# docker push 192.168.1.30:5000/centosThe push refers to a repository [192.168.1.30:5000/centos]
Get https://192.168.1.30:5000/v1/_ping: http: server gave HTTP response to HTTPS client

使用容器运行 docker-registry

[root@test01 ~]# docker run -d -p 5000:5000 --privileged=true -v /opt/data/registry:/tmp/registry --name= docker-registry  registry

参数说明:

-v /opt/data/registry:/tmp/registry : 默认情况下,会将仓库存放于容器内的 /tmp/registry 目录下,指定本地目录挂载到容器
–privileged=true :CentOS7 中的安全模块 selinux 把权限禁掉了,参数给容器加特权,不加上传镜像会报权限错误 (OSError: [Errno 13] Permission denied: ‘/tmp/registry/repositories/liibrary’) 或者(Received unexpected HTTP status: 500 Internal Server Error)错误

上传镜像

[root@test01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/wordpress latest 346b1443b020 30 hours ago 407 MB
[root@test01 ~]# docker push 192.168.1.30:5000/wordpress
The push refers to a repository [192.168.1.30:5000/wordpress]
An image does not exist locally with the tag: 192.168.1.30:5000/wordpress
[root@test01 ~]#

根据提示,我们知道需要修改一下 tag 才能上传

[root@test01 ~]# docker tag docker.io/wordpress 192.168.1.30:5000/wordpress
[root@test01 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
192.168.1.30:5000/wordpress latest 346b1443b020 30 hours ago 407 MB
docker.io/wordpress latest 346b1443b020 30 hours ago 407 MB
[root@test01 ~]# docker push 192.168.1.30:5000/wordpress
The push refers to a repository [192.168.1.30:5000/wordpress]
3d7c1bb6ce9f: Pushed

从私有仓库中下载

[root@test01 ~]# docker pull 192.168.1.30:5000/wordpress

客户端永久配置使用私有仓库

加入 ADD_REGISTRY= --add-registry 192.168.1.30:5000 
[root@test01 ~]# cat /etc/sysconfig/docker
# /etc/sysconfig/docker
# Modify these options if you want to change the way the docker daemon runs
OPTIONS= --selinux-enabled --log-driver=journald --signature-verification=false -H unix:///var/run/docker.sock -H 0.0.0.0:2376 
ADD_REGISTRY= --add-registry 192.168.1.30:5000 
if [ -z  ${DOCKER_CERT_PATH}  ]; then
 DOCKER_CERT_PATH=/etc/docker
fi

感谢各位的阅读!关于“如何在 Linux 系统上部署 docker 私有仓库”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向 AI 问一下细节

丸趣 TV 网 – 提供最优质的资源集合!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-07发表,共计2372字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)