前言

2024 年 8 月 8 日更新:

由于某些众所周知的原因,国内 Docker 镜像已经成为历史,本文已不具有可行性,仅供参考。


由于群晖 Docker 套件,其 Bridge 网桥默认的网段为 172 段,很容易和现有网段冲突,导致发包错误,需要避开才可正常通信。

Docker 配置文件位置

先开启 DSM 的 SSH 登录,然后通过 SSH 连接到 DSM。

DSM7.2 前,使用以下命令。

sudo vim /var/packages/Docker/etc/dockerd.json

DSM7.2 后 Docker 更名为 Container Manager,并升级了 UI 以便于更新和清理容器。因此路径也需要更改。

sudo vim /var/packages/ContainerManager/etc/dockerd.json

清空内容小技巧:

  1. (vi 进入文件后)在命令模式下,先执行 gg(跳转光标至文件首行);
  2. 再执行 dG,这样就清空了整个文件。

修改配置文件

DSM7.2 前,使用以下配置。

{
    "data-root": "/var/packages/Docker/var/docker",
    "log-driver": "db",
    "storage-driver": "btrfs",
    "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn",
        "https://hub-mirror.c.163.com",
        "https://registry.docker-cn.com"
    ],
    "bip": "192.168.10.1/24",
    "default-address-pools": [
        {
            "base": "192.168.10.0/24",
            "size": 24
        }
    ]
}

DSM7.2 后,使用以下配置。

{
    "data-root": "/var/packages/ContainerManager/var/docker",
    "log-driver": "db",
    "storage-driver": "btrfs",
    "registry-mirrors": [
        "https://docker.mirrors.ustc.edu.cn",
        "https://hub-mirror.c.163.com",
        "https://registry.docker-cn.com"
    ],
    "bip": "192.168.10.1/24",
    "default-address-pools": [
        {
            "base": "192.168.10.0/24",
            "size": 24
        }
    ]
}

提醒:配置不可省略 data-root 路径,否则配置不生效。

重启 Docker

systemctl daemon-reload
systemctl restart pkgctl-Docker # DSM7.2前
systemctl restart pkgctl-ContainerManager # DSM7.2后

附录:常见国内加速镜像源

  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "https://hub-mirror.c.163.com",
    "https://registry.docker-cn.com"
  ]

阿里云镜像加速器获取:https://help.aliyun.com/zh/acr/user-guide/accelerate-the-pulls-of-docker-official-images

参考文献

https://www.ithome.com/0/680/524.htm https://cr.console.aliyun.com https://help.aliyun.com/zh/acr/user-guide/accelerate-the-pulls-of-docker-official-images https://community.synology.com/enu/forum/17/post/107492 https://support.hyperglance.com/knowledge/changing-the-default-docker-subnet https://www.synoforum.com/threads/docker-restart-on-cli.4678/ https://gist.github.com/styblope/dc55e0ad2a9848f2cc3307d4819d819f