docker inspect 1Panel-openc law-X6Mw | grep -A 30 Mounts
sudo mkdir -p /opt/1panel/apps/openclaw/data sudo chown -R 1000:1000 /opt/1panel/apps/openclaw/data sudo chmod -R 755 /opt/1panel/apps/openclaw/data sudo rm -rf /opt/1panel/apps/openclaw/data/caddy 2>/dev/null || true sudo docker restart "1Panel-openclaw-X6Mw"
sudo docker inspect "1Panel-openclaw-X6Mw" | grep -A 30 Mounts
ubuntu@VM-0-4-ubuntu:~$ sudo docker inspect "1Panel-openclaw-X6Mw" | grep -A 30 Mounts "Mounts": [ { "Type": "bind", "Source": "/opt/1panel/apps/openclaw/openclaw/data/caddy/data", "Destination": "/data", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Type": "bind", "Source": "/opt/1panel/apps/openclaw/openclaw/data/conf", "Destination": "/home/node/.openclaw", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Type": "bind", "Source": "/opt/1panel/apps/openclaw/openclaw/data/workspace", "Destination": "/home/node/.openclaw/workspace", "Mode": "rw", "RW": true, "Propagation": "rprivate" }, { "Type": "bind", "Source": "/opt/1panel/apps/openclaw/openclaw/data/caddy/Caddyfile", "Destination": "/etc/caddy/Caddyfile", "Mode": "ro", "RW": false,
刚才 docker inspect 输出了真实挂载路径: /data(容器内) → 宿主机 /opt/1panel/apps/openclaw/openclaw/data/caddy/data
之前我们 chown 的路径是错的(少了 /openclaw 那层),所以一直失败。 Caddy 以 uid 1000(node 用户)运行,必须让这个目录归属 1000:1000。
1. 创建目录(如果不存在)
sudo mkdir -p /opt/1panel/apps/openclaw/openclaw/data/caddy/data
2. 给整个数据目录改权限(关键!)
sudo chown -R 1000:1000 /opt/1panel/apps/openclaw/openclaw/data sudo chmod -R 755 /opt/1panel/apps/openclaw/openclaw/data
3. 删除可能残留的 caddy 目录,让它重新创建
sudo rm -rf /opt/1panel/apps/openclaw/openclaw/data/caddy/data/caddy 2>/dev/null || true
4. 重启容器
sudo docker restart "1Panel-openclaw-X6Mw"