2024年6月开始,国内所有的 docker 镜像仓库都被上层强制停服了,导致我们在国内无法通过 docker pull 拉取 docker 镜像。没办法,只能给 docker 环境上代理。你需要事先准备好一个在局域网中可用的 http 代理,这个我就不赘述了。

因为镜像的拉取和管理都是 docker daemon 的职责,所以我们要让 docker daemon 知道代理服务器的存在。而 docker daemon 是由 systemd 管理的,所以我们要从 systemd 配置入手。docker daemon 使用 HTTP_PROXY, HTTPS_PROXY, 和 NO_PROXY 三个环境变量配置代理服务器,但是你需要在 systemd 的文件里配置环境变量。

步骤:

1.创建 dockerd 相关的 systemd 目录,这个目录下的配置将覆盖 dockerd 的默认配置

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

2.新建配置文件 /etc/systemd/system/docker.service.d/http-proxy.conf,这个文件中将包含环境变量

[Service] 
Environment="HTTP_PROXY=http://10.0.0.3:7890" 
Environment="HTTPS_PROXY=http://10.0.0.3:7890"

3.重新加载 docker daemon 配置文件,并重启 docker

sudo systemctl daemon-reload
sudo systemctl restart docker

最后,通过 sudo systemctl show --property=Environment docker 检查确认环境变量是否已经正确配置。也可以通过 docker info 查看到 HTTP Proxy 和 HTTPS Proxy 结果。

END
本文作者:
文章标题: 如何为 Docker 配置 HTTP 代理以解决国内镜像仓库停服问题
本文地址: https://www.haovps.top/archives/34.html
版权说明:若无注明,本文皆 高性能VPS推荐与IT技术博客 | Haovps.Top 原创,转载请保留文章出处。
cc
最后修改:2024 年 07 月 03 日
如果觉得我的文章对你有用,请随意赞赏