Docker搭建私有库

本文详细介绍了如何在Docker服务器192.168.112.129上搭建私有仓库,包括拉取registry镜像、运行私有仓库、在客户端192.168.112.10制作镜像并上传、解决HTTPS传输问题,以及在私有仓库中查看已上传镜像。
摘要由CSDN通过智能技术生成

Docker搭建私有库

Docker客户端:192.168.112.10;Docker私有仓库服务器:192.168.112.129
在这里插入图片描述

1.在服务端192.168.112.129上拉取仓库镜像:registry

[root@localhost ~]# docker pull registry
在这里插入图片描述

2.在服务端192.168.112.129运行docker私有仓库

[root@localhost ~]# docker run -d -v /registry:/var/lib/registry -p 5000:5000 --restart=always --privileged=true --name registry registry:latest
如果成功执行,则表示我们的docker私有仓库搭建成功。
下面对这条命令的部分内容做下说明。
/registry表示宿主机目录,该目录如果不存在会自动创建。
docker -v 宿主机目录:容器目录
在网上看到的解释:
把宿主机的目录挂载到容器中
或者
把docker 容器中某目录的数据 加载到 宿主机的某个目录
这样做的目的是为了防止docker私有仓库这个容器被删除时,仓库里的镜像也会被删除。

3.在客户端制作镜像(192.168.112.10)

以hello-world为例,先把它拉取下来
[root@localhost ~]# docker pull hello-world
给hello-world镜像打个tag,表示新的版本
[root@localhost ~]# docker tag hello-world 192.168.112.129:5000/hello-world:latest

4.将新的hello-world镜像上传到私有仓库

[root@localhost ~]# docker push 192.168.112.129:5000/hello-world:latest
在这里插入图片描述
发现会报以下错误:
The push refers to a repository [192.168.1.161:5000/hello-world]
Get https://192.168.1.161:5000/v1/_ping: http: server gave HTTP response to HTTPS client
原因是docker私有仓库服务器,默认是基于https传输的,
所以我们需要在客户端192.168.112.10做相关设置,不使用https传输
[root@localhost ~]# vi /etc/docker/daemon.json
将下面的代码放进去保存并退出。
“insecure-registries”:[“192.168.112.129:5000”]
最终如下所示:
在这里插入图片描述
依次执行下面两条命令,重新启动docker:
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
再次执行推送命令:
[root@localhost ~]# docker push 192.168.112.129:5000/hello-world:latest

5.在私有仓库192.168.112.129查看上传的镜像

[root@localhost repositories]# ls /registry/docker/registry/v2/repositories
或者在客户端执行以下命令查看:
[root@localhost ~]# curl http://192.168.112.129:5000/v2/_catalog
会输出:
{“repositories”:[“hello-world”]}
好,大功告成。
从私有库拉取镜像
#docker pull 192.168.112.129:5000/hello-world:latest

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值