Docker搭建私仓,并且推送镜像全流程

一、问题出现

前段时间,上头派了一个小任务,那就是需要在某台作为开发环境的服务器A的Docker上搭建一个私仓,用来存放开发环境的镜像,之前都是将镜像存放在测试环境的服务器上的,现在需要把它们进行分开存放。

二、具体流程

主要的流程为以下几点:

1、在服务器A上搭建一个registry私仓

2、配置镜像源

3、推送镜像

4、服务器B拉取镜像

三、服务器A上搭建一个registry私仓

1、拉取registry镜像,默认拉取的是最新镜像,如果有指定版本,那么需要具体指定。

docker pull registry

2、确认镜像拉取成功,查看镜像是否存在。

docker images

3、创建registry容器。

docker run -d --name registry -p 5000:5000 -v /home/personal_registry:/var/lib/registry registry

4、端口映射到本地的5000,通过本地访问以下地址,查看能否访问成功。

http://自己的局域网ip:5000/v2/_catalog

此时,接口访问成功,内容为空,则说明当前registry搭建成功,但是没有还没有任何镜像存在。

四、配置镜像源

如果其他服务器需要拉取服务器A上registry上的镜像的话,那么需要配置其daemon.json文件,在文件中配置地址是为了让docker知道去哪里拉取或上传镜像,否则将会报类似如下错误:

Error response from daemon: Get https://../v1/_ping: http: server gave HTTP response

 具体解决方法如下:

打开etc/docker/daemon.json(具体看你docker安装在哪个位置,配置文件在何处),在insecure-registries位置配置上私仓的ip地址与端口。

 {
    "exec-opts": ["native.cgroupdriver=systemd"],
    "log-driver": "json-file",
    "insecure-registries": ["127.0.0.1:5000","私仓ip:端口"],   //配置的端口,必须跟harbor服务的端口一致
    "log-opts": {
         "max-size": "10m"
    }
}

五、推送镜像

可以通过服务器A或其他服务器向服务器A上的registry推送镜像,以下作为一个例子,将服务器A中的registry推送到服务器A上的registry。

1、registry镜像重命名

docker tag  registry[:tag] 私仓ip:端口/registry[:tag]

重命名,给registry加上私仓的ip,是为了,推送镜像的时候能够让docker知道往何处推送镜像

2、推送镜像

docker push 私仓ip:端口/registry[:tag]

3、检查推送是否成功

通过以上步骤,如果没有出什么其他问题的话,镜像是推送成功的,可以通过访问以下地址查看是否有镜像信息,以此确认:

http://自己的局域网ip:5000/v2/_catalog

六、服务器B拉取镜像 

拉取前,别忘了配置daemon.json文件

1、从私仓拉取镜像

docker pull 私仓ip:端口/registry[:tag]

2、确认镜像是否拉取成功

docker images

 至此,从搭建私仓、推送镜像、拉取镜像已经完成。

七、参考地址

如何用docker registry搭建个人镜像库,详细步骤_abcnull的博客-优快云博客_registryhttps://blog.youkuaiyun.com/abcnull/article/details/107900631?ops_request_misc=&request_id=&biz_id=102&utm_term=docker%E4%B8%8A%E5%A6%82%E4%BD%95%E6%90%AD%E5%BB%BAregistry&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-0-107900631.142%5Ev5%5Epc_search_quality_down,143%5Ev6%5Eregister&spm=1018.2226.3001.4187

怎么修改docker镜像的名字_docker镜像如何重命名_UniDaily的博客-优快云博客镜像重命名:docker tag IMAGEID(镜像id) REPOSITORY:TAG(仓库:标签)删除:docker rmi IMAGEID 或者 docker rmi REPOSITORY:TAG容器重命名:docker 原容器名 新容器名删除:docker rm CONTAINERID扩展命令:$ docker ps // 查看所有正在运行容器$ docker stop contain...https://blog.youkuaiyun.com/weixin_33961553/article/details/111955517

docker pull报错: Error response from daemon: Get https://../v1/_ping: http: server gave HTTP response_隔壁老瓦的博客-优快云博客问题描述,安装好docker私有库之后,不管是从私有库pull还是push,都会报错:Error response from daemon: Get https://xxx.xxx.xxx.xxx:5000/v1/_ping: http: server gave HTTP response to HTTPS client原因是由于客户端采用https,docker registry未采用h...https://blog.youkuaiyun.com/wxb880114/article/details/85700773?ops_request_misc=&request_id=&biz_id=102&utm_term=Get%20https://10.175.94.103:5000&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduweb~default-6-85700773.142%5Ev5%5Epc_search_quality_down,143%5Ev6%5Eregister&spm=1018.2226.3001.4187

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值