383 字
2 分钟
玩客云 CasaOS Docker 换源无效解决方法

CasaOS Docker 换源无效的原因与解决方案(完整总结)#

接上篇文章在玩客云刷入 CasaOS 后在其软件商店安装软件超时且给 Docker 配置国内镜像源时,很多用户遇到一个问题:

Terminal window
docker info | grep -A5 "Registry Mirrors"

(空白,没有任何镜像源)

说明 Docker 根本没有读取 /etc/docker/daemon.json,即使文件存在也没有效果。


🧩 一、问题原因#

通过查看 Docker 的启动参数:

Terminal window
ps aux | grep dockerd

得到输出:

Terminal window
/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

注意:

  • 这里完全没有 --config-file 参数
  • 意味着 Docker 不会自动读取 /etc/docker/daemon.json

所以你写的镜像源配置永远不会生效。


🛠 二、解决方案(必须让 Docker 正确读取 daemon.json)#

核心思路是:覆盖 systemd 中的 Docker 启动参数,加入正确的 config-file

① 创建 Docker override 配置目录#

Terminal window
sudo mkdir -p /etc/systemd/system/docker.service.d

② 新建 override.conf#

Terminal window
sudo nano /etc/systemd/system/docker.service.d/override.conf

③ 写入以下内容(非常重要)#

Terminal window
[Service]
ExecStart=
ExecStart=/usr/bin/dockerd --config-file=/etc/docker/daemon.json

解释:

  • ExecStart= 先清空原来的启动参数
  • 再指定新的启动方式,让 Docker 强制读取 daemon.json

④ 重新加载 systemd#

Terminal window
sudo systemctl daemon-reload

⑤ 重启 Docker#

Terminal window
sudo systemctl restart docker

🔍 三、验证是否成功#

Terminal window
docker info | grep -A5 Mirrors

如果成功,会显示你配置好的镜像源,例如:

Terminal window
Registry Mirrors:
https://docker.1ms.run
https://docker.m.ixdev.cn
http://docker.m.daocloud.io
https://dockerproxy.net
https://xdark.top

🏁 四、总结#

CasaOS 中 Docker 换源不生效的根本原因:

  • 系统的 dockerd 启动命令没有使用 --config-file
  • 导致 Docker 完全忽略了 /etc/docker/daemon.json

最终解决办法:

  • 使用 systemd override 覆盖默认启动参数
  • 强制 dockerd 使用 /etc/docker/daemon.json
  • 重启 Docker 即可生效
玩客云 CasaOS Docker 换源无效解决方法
https://blog.obve.cn/posts/14584/
作者
Alec
发布于
2026-01-05
许可协议
CC BY-NC-SA 4.0