首页 云服务器正文

如何解决docker不能push给http

云返利网 云服务器 2020-06-24 07:11:56 13 0 云服务器

如何解决docker不能push给http?

系统环境:centos7

docker版本: 1.12.3(注意版本,可能存在不同版本设置不同的情况)

docker registry版本:2.4.1

问题:

成功安装docker registry,在浏览器中输入http://192.168.1.100:5000/v2,成功返回json数据。在push 到docker registry时,报:

[root@master sysconfig]# docker push 192.168.1.100:5000/registry:2.4.1The push refers to a repository [192.168.1.100:5000/registry]
Get https://192.168.1.100:5000/v1/_ping: http: server gave HTTP response to HTTPS client

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

目前很多文章都是通过修改docker的配置文件“etc/systemconfig/docker",重启docker来解决这个问题。但发现docker1.12.3版本并无此文件,根据网上创建此文件,并填入相应内容,重启docker无效果,仍然报此错误。

解决方法:

在”/etc/docker/“目录下,创建”daemon.json“文件。在文件中写入:

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

保存退出后,重启docker。问题解决:

[root@master docker]# docker push 192.168.1.100:5000/registry:2.4.1The push refers to a repository [192.168.1.100:5000/registry]
ee8e809cfde5: Pushed
ba20d499f984: Pushed
705e35f12f24: Pushed
42755cf4ee95: Pushed2.4.1: digest: sha256:b66c4af9577744ae6d32e975808230e2ff558a5d50a7968d5102a900e147f3d5 size: 1158

window server 2016,默认安装docker的配置文件在“C:\ProgramData\docker\config\”。可以在该目录下创建”daemon.json“文件,解决此问题。

相关参考:docker教程

【关于云返利网】

云返利网是阿里云、腾讯云、华为云产品推广返利平台,在各个品牌云产品官网优惠活动之外,云返利网还提供返利。您可以无门槛获得阿里云、华为云、腾讯云所有产品返利,在官网下单后就可以领取,无论是自己用、公司用还是帮客户采购,您个人都可以获得返利。云返利网的目标是让返利更多、更快、更简单!详情咨询13121395187(微信同号)