Docker barhor如何将本地镜像推送到私有仓库

一.背景

由于服务部署中如果手动分发脚本的话会很繁琐,而且容易出错,因此我们会将镜像上传到自己的私有仓库上然后通过docker自己去拉取最新镜像来实现服务的部署和更新,这里主要记录一下我在部署该服务的时候遇到过的一些问题,和介绍一下怎么进行镜像推送拉取。

二.Docker如何将本地镜像推送到私有仓库

1.首先看一下我们的docker目录,在配置文件中有没有配置私有库的配置信息,默认配置文件位置在/etc/docker/daemon.json,如果没有的话自己创建一个,在启动docker的时候会自己去查找该配置文件,如果没有自动加载的话需要自己reload。
2.打开改配置文件,执行vi /etc/docker/daemon.json,加入该配置参数,如果是新建的话直接把该语句复制进去就可以了,这是配置私有仓库的地址:

{
  "insecure-registries":["10.0.0.66:5000"]
}

3.kill掉docker进程后,重启docker进程

dockerd &     #这是tar包的启动方式,根据自己安装的方式重启docker就可以了

4.如果配置文件没有被读到,需要自己reload后再重启docker,执行

sudo systemctl daemon-reload 

5.然后就可以对本地镜像打标签,ck:laster是本地镜像,10.0.0.66:5000/ck:0.1是私有仓库镜像,0.1是版本号自定义即可,执行

docker tag ck:latest 10.0.0.66:5000/ck:0.1

6.然后就可以推送镜像到私有仓库上,执行

docker push 10.0.0.66:5000/ck:0.1

然后打开10.0.0.66:8000(根据自己的实际情况),在自己的私有仓库上即可看到刚刚推送上去的镜像。
7.如果要拉取镜像的话,只需要执行

docker pull 10.0.0.66:5000/ck:0.1

同理在docker-compose.yml里面也只需要配置该镜像:10.0.0.66:5000/ck:0.1即可完成自动拉取。
三.实际部署遇到的问题
1.在推送镜像的时候没有配置镜像仓库,出现的问题如下,即/etc/docker/daemon.json文件,会导致镜像不知道要推送到哪里。

Error response from daemon: Get https://10.0.0.66:5000/v2/: http: server gave HTTP response to HTTPS client

2.配置完镜像仓库没有重新加载,导致配置不生效,即sudo systemctl daemon-reload 命令。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值