Docker无法push镜像,显示Get * net/http: request canceled while waiting for connection ...

35 篇文章 1 订阅

问题

本地的docker镜像push到云容器中时,无法push,显示 Get https://registry-vpc.cn-shanghai.aliyuncs.com/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)

遇到该问题,有一两个相关的,都是修改DNS,见
【docker-issues 2956:request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers】

  • Win下修改方法:
    Go to Docker settings > network > DNS server . change from automaic to fixed ( default is 8.8.8.8 )

  • Mac下修改方法:
    docker 图标 -> Preferences -> Daemon -> Advanced, 删除其中关于DNS的配置。DNS的配置类似于这样的:"dns": ["8.8.8.8", "192.168.0.1"]

Solution

提交其他进镜像时,能够上传成功,所以能排除DNS配置的问题。

后来重新打开镜像路径,发现镜像路径的公网地址有几个字母错了😂,本来应该是registry.cn-shanghai.aliyuncs.com/docker_for_donald/,而实际上传时写的是registry-vpc.cn-shanghai.aliyuncs.com

重新修改路径后问题解决了。

路径太长,难免会走一些捷径,复用之前已经使用过的命令,突然想到了一个笑话:程序员想输入ls命令,但没有选择键入,而是使用上下键一个个翻之前的命令,能用一个手指解决的绝不用两个手指,自己这里也是。。。。长记性了

Other – 参考

docker 上传镜像常用的几个命令:

  • docker login :登录Docker Registry
    • 如:docker login --username=donaldsu5 registry.cn-shanghai.aliyuncs.com
  • docker build :使用 Dockerfile 创建镜像
    • docker build -t registry.cn-shanghai.aliyuncs.com/docker_for_donald/docker_for_adversarial_text:0.2
  • docker run :通过镜像创建一个新的容器并运行一个命令
    • eg: docker run registry.cn-shanghai.aliyuncs.com/docker_for_donald/docker_for_adversarial_text sh run.sh
  • docker pull :从镜像仓库中拉取或者更新指定镜像
    • docker push registry-vpc.cn-shanghai.aliyuncs.com/docker_for_donald/docker_for_adversarial_text:0.1
  • docker images:列出本地镜像

更多docker命令可参考:【Docker命令速查 – from 天池】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值