Skip to content

Docker 实验室(六):在 Docker pull 的时候配置代理。

发布于: at 10:08

家里新添了一个新成员,感觉时间都不是自己的了。但是还是要抽时间来一步步构建自己的博客。

前提

Docker 官方没有在大陆提供服务,本地再拉取镜像的时候基本就是随缘,成不成功、速度如何完全靠天意。再加上 gcr.io 这类仓库天然被屏蔽等等。好在我们可以单独的给 Docker Daemon 来配置代理。

代理配置

  1. 先找到自己的服务上的 systemd 管理的 docker 配置信息。大部分的发行版都会在 /usr/lib/systemd/system 目录下面。

Docker systemd 管理的配置文件

  1. 看一下有没有 docker.service.d 目录,没有就新建。
  2. 进入到 docker.service.d 目录下面,新建一个 http-proxy.conf 配置文件,文件内容如下。

推荐使用 HTTP 类型代理,环境变量里面需要同时配置 HTTP_PROXYHTTPS_PROXY

[Service]
Environment="HTTP_PROXY=http://localhost:24008"
Environment="HTTPS_PROXY=http://localhost:24008"
  1. 重新加载下服务并且重启一下 Docker
systemctl daemon-reload
systemctl restart docker

systemctl show --property=Environment docker

配置环境变量之后,使用 systemctl 查看配置的变量具体信息

总结

正常来说配置完成之后会依赖代理进行拉取,所以需要保证代理服务的稳定性。而且配置的代理只应用于 Docker Daemon,所以对于现在的所有应用都不会有任何影响。