00-背景说明

当Docker Daemon(服务端进程)需要通过代理服务器访问外部网络(如拉取镜像时),可以通过修改Docker服务的systemd配置来实现。本文详细介绍配置步骤。

01-配置步骤

1. 创建systemd配置文件目录

首先需要创建存放Docker服务配置的目录:

sudo mkdir -p /etc/systemd/system/docker.service.d

2. 创建代理配置文件

在刚创建的目录中新建http-proxy.conf文件:

sudo vi /etc/systemd/system/docker.service.d/http-proxy.conf

3. 编辑代理配置

在文件中添加以下内容(请根据实际情况修改代理地址和端口):

[Service]
Environment="HTTP_PROXY=http://192.168.10.178:7890"
Environment="HTTPS_PROXY=http://192.168.10.178:7890"
Environment="NO_PROXY=localhost,127.0.0.1,localaddress,.localdomain.com"

4. 应用配置变更

重新加载systemd配置并重启Docker服务:

sudo systemctl daemon-reload
sudo systemctl restart docker

03-验证配置

测试代理是否生效

尝试拉取测试镜像验证代理是否正常工作:

docker pull hello-world

04-注意事项

  1. 请将示例中的代理地址192.168.10.178:7890替换为您实际的代理服务器地址和端口
  2. NO_PROXY参数用于指定不走代理的地址,可根据实际网络环境调整
  3. 配置变更后必须执行systemctl daemon-reload才能使新配置生效

通过以上步骤,Docker Daemon将能够通过指定的代理服务器访问互联网,解决在受限网络环境下拉取镜像等问题。