docker push failed:net / http:TLS握手超时

时间:2015-12-01 10:26:21

标签: docker dockerhub

当我使用docker push将我的图片推送到docker hub时,我会收到这样的错误:

Post https://registry-1.docker.io/v2/lutaoact/docker-whale/blobs/uploads/: net/http: TLS handshake timeout

或:

Head https://registry-1.docker.io/v2/lutaoact/docker-whale/blobs/sha256:ce3756df5cd31626b2664e9ac3713eec2585a64b7b31350c963328137b6f391d: dial tcp 54.172.138.33:443: i/o timeout

可能54.172.138.33被屏蔽了。 我怎样才能为docker设置代理来访问这个ip?

3 个答案:

答案 0 :(得分:0)

该错误主要是在我没有良好的互联网时发生的。检查您的互联网连接。它将解决问题。

还创建一个docker注册表缓存:https://docs.docker.com/registry/recipes/mirror/

答案 1 :(得分:0)

将docker镜像更改为本地镜像,例如,在中国,您可以使用Azure Mirror:

"registry-mirrors" : [
    "https://dockerhub.azk8s.cn"
  ]

像这样:

enter image description here

直到2020年3月,一切正常。

答案 2 :(得分:0)

docker支持配置代理服务器doc

您可以设置环境变量HTTP_PROXYHTTPS_PROXY来设置代理。例如:

HTTP_PROXY=http://127.0.0.1:8123 docker pull hello-world
HTTPS_PROXY=https://127.0.0.1:8123 docker pull hello-world

您还可以编辑文件~/.docker/config.json来配置代理:

{
 "proxies":
 {
   "default":
   {
     "httpProxy": "http://127.0.0.1:3001",
     "httpsProxy": "http://127.0.0.1:3001",
     "noProxy": "*.test.example.com,.example2.com"
   }
 }
}