2.0 KiB
2.0 KiB
要在 Docker 中使用代理进行 docker pull
操作,你需要配置 Docker 守护进程(dockerd
)以使用代理服务器。以下是配置步骤:
-
创建 Docker 服务的 systemd 配置目录:
sudo mkdir -p /etc/systemd/system/docker.service.d
-
创建配置文件: 在
/etc/systemd/system/docker.service.d/
目录下创建一个名为proxy.conf
(或任意其他名称,以.conf
结尾)的配置文件,并添加以下内容:[Service] Environment="HTTP_PROXY=http://your_proxy_server:port/" Environment="HTTPS_PROXY=http://your_proxy_server:port/" Environment="NO_PROXY=localhost,127.0.0.1,your-registry.com"
这里
your_proxy_server
和port
需要替换为你的代理服务器地址和端口。NO_PROXY
中的值用逗号分隔,可以使用通配符(*)。 -
重新加载 systemd 配置并重启 Docker:
sudo systemctl daemon-reload sudo systemctl restart docker
-
验证配置是否生效: 使用以下命令检查 Docker 服务的环境变量是否已经正确配置:
sudo systemctl show --property=Environment docker
或者通过
docker info
命令查看配置项是否显示在输出中。
这样配置后,Docker 应该能够通过代理服务器正常拉取镜像。需要注意的是,Docker 服务的配置需要从 systemd 角度进行设置,而不能仅通过修改 shell 环境变量的方式。此外,如果代理服务器需要认证,可能还需要额外的配置步骤。在实际操作中,确保替换示例中的占位符(如 proxy.example.com
)为实际的代理服务器地址。
如果你不想每次拉取镜像时都重启 Docker 服务,可以考虑使用 Privoxy 作为本地代理服务器,这样可以通过控制 Privoxy 的启动和停止来间接控制 Docker 使用代理。这种方法的好处是不需要频繁重启 Docker 服务,可以更加灵活地控制代理的使用。具体步骤可以参考相关博客文章的描述。