在 Linux 上使用带有 squid 代理的 docker。——ubuntu 20.04

在 Linux 上使用带有 squid 代理的 docker。——ubuntu 20.04

我已经从 apt 安装了 docker 20.10.21。该机器未直接连接到互联网,因此我们依赖于 squid 代理。

我已经设置了一个 daemon.json 文件:

rful011@secphires01:~$ cat /etc/docker/daemon.json
{
     "http-proxy": "http://squid.auckland.ac.nz:3128",
     "https-proxy": "http://squid.auckland.ac.nz:3128",
     "no-proxy": "*.auckland.ac.nz"
}

如所述这里

启动dockerd给出:

rful011@secphires01:~$ sudo /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
unable to configure the Docker daemon with file /etc/docker/daemon.json: the following directives don't match any configuration option: no-proxy, http-proxy, https-proxy

显然我忽略了一些东西。

答案1

Ubuntu 20.04 搭载 Docker版本 20.10

根据文档n 您至少需要 23.0 才能以这种方式配置代理:

守护进程可以通过三种方式配置:

  • 使用环境变量(HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY)。
  • 使用守护进程配置文件中的“http-proxy”、“https-proxy”和“no-proxy”字段(Docker Engine 23.0 或更新版本)。
  • 使用 --http-proxy、--https-proxy 和 --no-proxy 命令行选项。(Docker Engine 23.0 或更新版本)。

因此您要么需要安装较新版本的 Docker,要么需要使用环境变量。

您可以使用它sudo systemctl edit docker来创建一个 systemd 插件并在其中配置环境变量。

相关内容