由于网络的问题,在国内使用docker有诸多不便。 最近掌握了两种方法,可以配置docker代理。在国内也可以高速下载。
- docker pull
这里可以使用docker镜像,在
/etc/docker/daemon.json文件里面加入
{
"registry-mirrors": [
"https://docker-0.unsee.tech",
"https://docker-cf.registry.cyou",
"https://docker.1panel.live"
]
}
- docker build
我在下载一些开源的项目的时候,
Dockerfile里面总是会有很多国外的源。哪怕在本地配置了代理,实际上在docker build的时候也不会自动走代理。于是我在网上找到了可以通过配置--build-arg HTTP_PROXY="http://host:port的方式使用宿主机的代理。 于是我就使用如下指令:
docker build . \
--build-arg HTTP_PROXY="http://127.0.0.1:7890" \ # 7890是代理端口号
--build-arg HTTPS_PROXY="http://127.0.0.1:7890" \
-t xxx
意外的,还是失败了。显示拒绝连接。 接下来我尝试
curl -x http://本地ip:7890 http://www.google.com
发现竟然不能访问。于是我知道问题在哪里了。
我的clash走的是localhost,也就是127.0.0.1,只能被本地访问。
应该使用0.0.0.0。
在clash的配置文件config.yaml中修改
mixed-port: 7890
bind-address: 0.0.0.0
allow-lan: true
最后成功解决。 希望这篇文章可以帮到遇到同样问题的你!