如何在Ubuntu上为Docker设置代理

时间:2020-01-09 10:34:20  来源:igfitidea点击:

Docker服务将不会使用环境变量来获取代理信息。相反,我们将必须配置服务以使用代理。本教程将向我们展示如何在Ubuntu服务器上设置Docker代理。

Ubuntu 16.04及更高版本中的服务已向SystemD注册。 Docker是少数几个从SystemD中的服务配置而不是环境变量中确定代理信息的软件包之一。

系统化Docker服务

为了设置Docker的代理,我们将需要为Docker服务创建一个配置文件。默认情况下不存在配置文件,因此必须创建一个。

所有Systemd服务配置都存储在/ etc / systemd / system下。为了使事情井井有条,我们可以创建一个子目录docker.service.d,而不是创建一个名为/etc/systemd/system/docker.service的文件。

在此配置文件中,我们可以设置我们的HTTP和HTTPS代理。我们也可以设置NO_PROXY值。

创建代理配置

  • 为我们的Docker服务配置创建一个新目录。
sudo mkdir -p /etc/systemd/system/docker.service.d
  • 在我们的配置目录中创建一个名为proxy.conf的文件。
sudo vi /etc/systemd/system/docker.service.d/proxy.conf
  • 添加以下内容,更改值以匹配环境。
[Service]
Environment="HTTP_PROXY=http://myproxy.hostname:8080"
Environment="HTTPS_PROXY=https://myproxy.hostname:8080/"
Environment="NO_PROXY="localhost,127.0.0.1,::1"
  • 保存更改并退出文本编辑器。

  • 重新加载守护程序配置。

sudo systemctl daemon-reload
  • 重新启动Docker以应用我们的更改。
sudo systemctl restart docker.service

重新启动服务后,Docker应该能够从外部存储库中提取图像。我们可以通过尝试下拉图像来进行测试。如果下载完成并且没有超时,则代理设置已被应用。