创建容器Error response from daemon: dial tcp 72.52.4.91:8080: connection refused

一、错误重现

PaaS应用平台项目的开发环境下,创建容器时总是失败,故debug获得命令并在后台执行,发现运行

docker -H tcp://192.168.206.131:5010 run  -d  -P -e DOCKER_HOST="192.168.206.131:5010" nginx.host:8080/nginx:1.8时报错,如下图:


二、错误原因分析

初看问题是由于72.54.4.91这个地址不通造成的,但ping 72.54.4.91是可以ping通的。其实最令我疑惑的是我指定了守护进程的地址和端口是192.168.206.131:5010,去pull镜像的时候地址竟然变为了72.54.4.91:8080。虽然百思不得其解,但问题还是要解决的,故Google之,但上面给出的答案五花八门,参差不齐,环境也不一样。看了那么多答案,得出一个结论就是:无论你是有问题需要发问,还是同样的问题你的方法奏效,都一定要讲自己的环境写清楚,方便大牛们帮助你解答,也方便初学者们对号入座跟着去解决问题,利人利己,何乐不为。行文至此,给出我的一套环境:CentOs7.1;仓库高可用方案(仓库1:192.168.206.130-registry主机和仓库2:192.168.206.131-swarm主机),nginx主机和swarm主机为同一主机192.168.206.131,nginx主机域名解析后为nginx.host,端口为8080;swarm集群中有192.168.206.130(registry主机)、192.168.206.131(swarm主机)和192.168.206.132(docker主机);要pull的镜像为centos。

三、解决办法

查看仓库中是否存在要pull的镜像


在swarm主机中做该项操作发现镜像存在。在docker主机中,进行curl


curl不成功,怀疑问题是在docker主机中没有进行域名解析,故直接curl nginx主机的IP和端口:curl http://192.168.206.131:8080/v1/search


直接curl nginx主机IP和端口可以查看仓库中的镜像,故问题在于docker主机中没有进行nginx主机的域名解析。vi /etc/hosts 增加一行:192.168.206.131 nginx.host

保存并退出。


再次curl,成功。


执行最初的命令:


成功。

总结:docker主机没有进行域名解析会出现上述错误还是心存疑惑,但好在问题解决了。后续学习中再做探究。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值