docker配置代理
song

Docker守护进程配置代理

  1. 创建或编辑 Docker 的服务配置文件:
    1
    2
    sudo mkdir -p /etc/systemd/system/docker.service.d
    sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf
  2. 添加以下内容(根据你的代理设置修改):
    1
    2
    3
    4
    [Service]
    Environment="HTTP_PROXY=http://192.168.100.254:10809"
    Environment="HTTPS_PROXY=http://192.168.100.254:10809"
    Environment="NO_PROXY=localhost,127.0.0.1,docker-registry.example.com"
  3. 重新加载配置并重启 Docker
    1
    2
    sudo systemctl daemon-reload
    sudo systemctl restart docker

为单个容器配置代理

如果你只想为某个容器配置代理,可以在运行容器时通过环境变量设置代理。
使用 -e 参数设置环境变量

1
2
3
4
docker run -e HTTP_PROXY=http://proxy.example.com:port \
-e HTTPS_PROXY=http://proxy.example.com:port \
-e NO_PROXY=localhost,127.0.0.1 \
your-image

Dockerfile中配置代理

如果你希望在构建镜像时使用代理,可以在 Dockerfile 中设置环境变量。

1
2
3
4
5
6
7
8
9
FROM ubuntu:latest

# 设置代理
ENV HTTP_PROXY=http://proxy.example.com:port
ENV HTTPS_PROXY=http://proxy.example.com:port
ENV NO_PROXY=localhost,127.0.0.1

# 其他构建步骤
RUN apt-get update && apt-get install -y some-package

使用 docker-compose配置代理

如果你使用 docker-compose,可以在 docker-compose.yml 文件中为服务配置代理。

1
2
3
4
5
6
7
8
version: '3'
services:
my-service:
image: your-image
environment:
- HTTP_PROXY=http://proxy.example.com:port
- HTTPS_PROXY=http://proxy.example.com:port
- NO_PROXY=localhost,127.0.0.1

注意事项

  • NO_PROXY:用于指定不需要通过代理访问的地址(如本地服务或内部网络)。
  • 代理的地址和端口需要根据你的实际环境填写。
  • 如果代理需要认证,可以在代理地址中包含用户名和密码,例如:http://username:password@proxy.example.com:port
由 Hexo 驱动 & 主题 Keep