解决的办法有以下及几种
1. 修改镜像源,改成国内的镜像地址
注意: docker pull时修改系统的代理不会让docker pull走系统代理,docker pull 的代理被 systemd 接管,所以需要设置 systemd...,docker build/run 的代理参考方法2
# 创建以下文件
vim /etc/docker/daemonjson
编辑模式输入以下内容
{
"registry-mirrors":[
"https://docker.1panel.live",
"https://docker.anyhub.us.kg",
"https://dockerhub.icu"
]
}
或者
{
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
修改完以后按以下命令生效配置
systemctl daemon-reload
systemctl restart docker
2 设置为docker提供代理
设置 docker 全局代理
设置方法参考官方文档: https://docs.docker.com/network/proxy/
注意新版和旧版本(17.07以前)设置方法不一样,比旧版更简单而且不需要重启服务,网上文章基本都是针对旧版本的,可能未来又变化了,所以多看官方文档~
以及这种设置方法只对 build 和 run 的容易有用, docker pull 要按照上面的方法设置。
vim ~/.docker/config.json
{
"proxies":
{
"default":
{
"httpProxy": "http://172.17.0.1:8123",
"httpsProxy": "http://172.17.0.1:8123",
"noProxy": "localhost,127.0.0.1,.daocloud.io"
}
}
}
这样设置后,build和run都会将http_proxy和https_proxy ftp_proxy变量设置成对应的代理地址,如果你在容器里面不想使用这个代理了,需要export http_proxy= 和 export https_proxy= 将两个变量设置为空
参考资料:https://www.cnblogs.com/Chary/p/18502958
标签:pull,设置,无法访问,代理,proxy,https,镜像,docker From: https://www.cnblogs.com/codedingzhen/p/18529775