「Docker Compose」- 在构建时,使用网络加速(代理)

问题描述

在 Docker Compose 中,支持使用 build 指令,以构建运行服务所需要的镜像。

但是,某些构建需要下载国外资源(比如 golang 构建),然而由于网络原因会下载失败。

该笔记将记录:如何在构建时使用网络加速服务(代理)来解决该问题。

解决方法

在构建时,可以制定参数,或者设置环境变量:

1)通过指定构建参数:

docker-compose build \
    --build-arg http_proxy=http://proxy.exaple.com \
    --build-arg https_proxy=http://proxy.exaple.com

2)通过设置环境变量:

# docker-compose.yaml

build:
  context: .
  args:
    - http_proxy=http://proxy.exaple.com
    - https_proxy=http://proxy.exaple.com

参考文献

Docker Build Proxy: Setup the proxy for Dockerfile building – DEV
Compose file version 3 reference | Docker Documentation
elasticsearch – docker-compose build and http_proxy – Stack Overflow