Docker docker-compose dockefile 如何设置代理 ?

7 min read

使用 Docker 代理可以在构建和运行容器时自动配置代理。以下是在 Docker 和 docker-compose 中设置代理的步骤:

  1. 设置 Docker 代理:

创建文件 /etc/systemd/system/docker.service.d/http-proxy.conf,包含以下内容:

[Service]
Environment="HTTP_PROXY=http://<proxy_host>:<proxy_port>/"
Environment="HTTPS_PROXY=http://<proxy_host>:<proxy_port>/"
Environment="NO_PROXY=localhost,127.0.0.1"

其中 <proxy_host> 和 <proxy_port> 是你的代理服务器的主机名和端口。

然后重新加载 Docker 服务并重新启动 Docker:

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker.service
  1. 设置 Docker Compose 代理:

在 docker-compose.yml 文件中添加以下环境变量:

services:
  my_service:
    environment:
      - http_proxy=http://<proxy_host>:<proxy_port>/
      - https_proxy=http://<proxy_host>:<proxy_port>/
      - no_proxy=localhost,127.0.0.1

同样,<proxy_host> 和 <proxy_port> 是你的代理服务器的主机名和端口。

  1. 设置 Dockerfile 代理:

在 Dockerfile 中添加以下行:

ENV http_proxy http://<proxy_host>:<proxy_port>/
ENV https_proxy http://<proxy_host>:<proxy_port>/
ENV no_proxy localhost,127.0.0.1

其中 <proxy_host> 和 <proxy_port> 是你的代理服务器的主机名和端口。

设置完成后,重新构建和运行容器即可。