笔记|Docker 使用代理

宿主机环境:

  • WSL2 Ubuntu20.04
  • win10
  • V2rayN
V2rayN的http代理端口为10809。查看宿主机win10在wsl虚拟网络下的ip地址,打开powershell:
ipconfig

显示:
以太网适配器 vEthernet (WSL):连接特定的 DNS 后缀 . . . . . . . : 本地链接 IPv6 地址. . . . . . . . : fe80::1472:48aa:2932:b4a0%43 IPv4 地址 . . . . . . . . . . . . : 192.168.112.1 子网掩码. . . . . . . . . . . . : 255.255.240.0 默认网关. . . . . . . . . . . . . :

则宿主机ip为:192.168.112.1。
打开docker配置文件:
vim /root/.docker/config.json

【笔记|Docker 使用代理】添加如下内容:
"proxies": { "default": { "httpProxy": "http://192.168.112.1:10809", "httpsProxy": "http://192.168.112.1:10809", "noProxy": "localhost,127.0.0.1,163.com" } }

noProxy就是不用代理的网址。
在用Dockerfile构建时使用--network=host参数:
docker build --no-cache --network=host -t minisystem .

这样在容器里git就可以走代理了。
References
如何优雅的给 Docker 配置网络代理
在Linux下设置代理(docker、git、repo、wget等)
使用代理进行 docker build 问题的解决思路

    推荐阅读