当我使用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?
答案 0 :(得分:0)
该错误主要是在我没有良好的互联网时发生的。检查您的互联网连接。它将解决问题。
还创建一个docker注册表缓存:https://docs.docker.com/registry/recipes/mirror/
答案 1 :(得分:0)
将docker镜像更改为本地镜像,例如,在中国,您可以使用Azure Mirror:
"registry-mirrors" : [
"https://dockerhub.azk8s.cn"
]
像这样:
直到2020年3月,一切正常。
答案 2 :(得分:0)
docker支持配置代理服务器doc。
您可以设置环境变量HTTP_PROXY
和HTTPS_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"
}
}
}