Docker 容器使用外网代理网络编译/构建项目
以官方openjdk:17-jdk-slim 镜像为基础镜像构建环境
当前docker导入官方镜像,可以是外部文件导入
sudo docker load -i openjdk_17-jdk-slim.tar
代理运行测试
sudo docker run -it \
-e HTTP_PROXY="http://你的主机地址/代理IP地址:你的端口" \
-e HTTPS_PROXY="http://你的主机地址/代理IP地址:你的端口" \
-e NO_PROXY="localhost,127.0.0.1" \
-e http_proxy="http://你的主机地址/代理IP地址:你的端口" \
-e https_proxy="http://你的主机地址/代理IP地址:你的端口" \
-e no_proxy="localhost,127.0.0.1" \
--rm --entrypoint \
/bin/bash openjdk:17-jdk-slim
关键说明:
代理地址/主机:
你的主机地址
是 Docker 内置的主机别名(支持 macOS/Windows,Linux 需 Docker 20.10+)。Linux 旧版本可改用主机 IP(通过 ip route show default | awk '/default/ {print $3}' 获取网关 IP,通常是 172.17.0.1)。
- 所有代理配置如:
HTTP_PROXY
/http_proxy
相同的代理变量需要配置大小写各自一份【这是重点】,以便兼容某些软件(例如:wget不能识别大写HTTP_PROXY/curl不识别小写http_proxy)- 你都已经使用外网了,请不要配置国软件镜像源了,容易导致安装软件ERROR
此处配合VMware 虚拟机使用主机代理网络(外网)【编译GitHub项目用】组合使用可以实现在Windows系统虚拟机下构建/编译一些列依赖外网的软件,如此使用的是本地的CPU/内存硬盘性能,仅用外部网络,加快构建速度。
https://blog.xqlee.com/article/2508061453198302.html