代码示例:
在配置 Docker 通过代理服务器拉取镜像的过程中,通常需要设置环境变量 HTTP_PROXY
和 HTTPS_PROXY
来指定代理服务器的地址。此外,如果存在不需要通过代理服务器访问的本地或私有仓库地址,还需要设置 NO_PROXY
环境变量。以下是详细的配置步骤:
-
创建 Docker 服务的 systemd 配置目录:
sudo mkdir -p /etc/systemd/system/docker.service.d
-
创建配置文件:
在/etc/systemd/system/docker.service.d/
目录下创建一个名为http-proxy.conf
(或任意其他名称,以.conf
结尾)的配置文件,并添加以下内容:[Service] Environment="HTTP_PROXY=http://proxy.example.com:80" Environment="HTTPS_PROXY=https://proxy.example.com:443" Environment="NO_PROXY=localhost,127.0.0.1,your-registry.com"
这里
proxy.example.com
和your-registry.com
需要替换为实际的代理服务器地址和不需要代理的仓库地址。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
)为实际的代理服务器地址。
喜欢本文,请点赞、收藏和关注!