0%

Docker Build 设置代理的方法

问题

今天在构建一个 OpenVPN Access ServerDocker 镜像, 由于 Dockerfile 中需要执行下面两个命令:

1
2
yum -y install https://as-repository.openvpn.net/as-repo-centos7.rpm
yum -y install openvpn-as

但这个 *.openvpn.net 的域名早已经被和谐了, 正常情况在我大天朝根本访问不了, 必须你懂得.

方案

思路虽然有了, 但如果把 HTTPS_PROXY=https://domain:port 这样的配置写到 Dockerfile 当中也太不优雅了, 于是去 Docker 官网翻了翻文档, 找到了解决办法.

办法

docker builddocker-compose build 均提供一个 --build-arg 选项, 通过它可以让 build 过程使用传入的环境变量, 比如我这里需要传入 HTTPS_PROXY:

1
docker-compose build --build-arg HTTPS_PROXY=https://domain:port xxx

这样整个编译过程就能使用传入的 HTTPS_PROXY 参数进行代理请求啦~!

引用

  1. https://docs.docker.com/compose/reference/build/
  2. https://docs.docker.com/engine/reference/commandline/build/#set-build-time-variables---build-arg
  • 本文作者: 6x
  • 本文链接: https://6xyun.cn/article/121
  • 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-ND 许可协议。转载请注明出处!