在群晖 Docker 配置代理教程

在群晖 Docker 配置代理教程

由于网络问题,群晖 Docker 无法正常拉取镜像。通过设置 Docker Daemon 代理,可以解决这个问题。本文将详细讲解如何在群晖 NAS 上通过 systemd 配置 Docker Daemon 代理。

前置要求

  • 需要 SSH 登录到群晖 NAS
  • 基本的命令行操作知识
  • 已知的代理服务器信息

操作步骤

1. SSH 登录群晖

首先,打开终端,使用 SSH 登录到群晖 NAS:

1
ssh admin@your\_nas\_ip

2. 创建配置目录

为 Docker Daemon 服务创建一个 systemd 配置目录:

1
sudo mkdir -p /etc/systemd/system/pkg-ContainerManager-dockerd.service.d
  1. 创建并编辑配置文件

接着,在刚刚创建的目录下生成一个配置文件 `http-proxy.conf`:

1
2
sudo touch /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf 
sudo vim /etc/systemd/system/pkg-ContainerManager-dockerd.service.d/http-proxy.conf

在编辑器中,添加以下内容:

1
2
3
4
[Service]
Environment="HTTP\_PROXY=http://192.168.121.165:7890"
Environment="HTTPS\_PROXY=http://192.168.121.165:7890"
Environment="NO\_PROXY=localhost,127.0.0.1"

请将 `http://192.168.121.165:7890\` 替换为你实际的代理服务器地址。

4. 重新加载 systemd 并重启 Docker

保存并退出编辑器后,运行以下命令重新加载 systemd,并重启 Docker Daemon 服务:

1
2
sudo systemctl daemon-reload
sudo systemctl restart pkg-ContainerManager-dockerd.service

5. 验证配置

执行以下命令,检查 Docker 是否成功使用了代理:

1
docker info | grep -i proxy

输出中应包含 HTTP_PROXY 和 HTTPS_PROXY 的相关信息。如果出现这些信息,则表示代理配置成功。

常见问题

  • **代理服务器无法访问**:请确认代理服务器地址和端口设置正确,并且你的 NAS 能正常访问代理服务器。
  • **Docker 服务无法启动**:检查 `http-proxy.conf` 文件的语法是否正确,确保没有拼写错误。

总结

通过为 Docker Daemon 配置代理,群晖上的 Docker 可以在网络受限的情况下正常拉取镜像。这一方法适用于所有无法直接访问 Docker 官方镜像源的场景。