问题
今天在构建一个 OpenVPN Access Server 的 Docker 镜像, 由于 Dockerfile 中需要执行下面两个命令:
yum -y install https://as-repository.openvpn.net/as-repo-centos7.rpm
yum -y install openvpn-as
但这个 *.openvpn.net 的域名早已经被和谐了, 正常情况在我大天朝根本访问不了, 必须你懂得.
方案
思路虽然有了, 但如果把 HTTPS_PROXY=http://domain:port 这样的配置写到 Dockerfile 当中也太不优雅了, 于是去 Docker 官网翻了翻文档, 找到了解决办法.
办法
docker build 和 docker-compose build 均提供一个 --build-arg 选项, 通过它可以让 build 过程使用传入的环境变量, 比如我这里需要传入 HTTPS_PROXY:
docker-compose build --build-arg HTTPS_PROXY=http://domain:port xxx
这样整个编译过程就能使用传入的 HTTPS_PROXY 参数进行代理请求啦~!