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

添加如下内容:

"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 问题的解决思路

你可能感兴趣的:(笔记,Docker,代理,proxy,config.json,WSL2)