必须加--privileged,因rancher 2.5+内置local kubernetes集群需在容器内启动容器、挂载宿主机路径及操作cgroup/netns,普通权限不足;不加将报controlplane启动失败或pod sandbox创建失败。

直接用 docker run 启动 Rancher 容器是最简单、最可控的单节点安装方式,适合开发测试或小规模管理场景;但默认不持久化数据、不启用 HTTPS 证书校验、也不适配生产环境网络策略——这些不是“配置完就跑起来”的问题,而是后续踩坑的根源。
为什么必须加 --privileged 才能正常运行
Rancher 2.5+ 在单容器模式下会内置一个轻量级 Kubernetes 集群(叫 local 集群),用来调度自身组件(如 rancher-webhook、fleet-controller)。这个内嵌集群需要在容器里启动容器、挂载宿主机路径、操作 cgroup 和 netns —— 普通容器权限根本不够。
- 不加
--privileged:你会看到failed to start controlplane, permission denied或Failed to create pod sandbox类错误 - 加了但没开
systemd或cgroup v2兼容:部分发行版(如 Ubuntu 22.04 默认 cgroup v2)需额外加--cgroup-parent=docker或改用rancherd - 安全提示:仅限可信内网环境;生产环境请改用
rancherd或 RKE2 + Helm 方式部署
docker run 命令里哪些参数不能省
以下参数组合是经过验证的最小可用集,缺一不可:
-
-d:后台运行,否则容器一启动就退出 -
--restart=unless-stopped:防止主机重启后 Rancher 消失 -
-p 80:80 -p 443:443:Rancher UI 和 API 全走这两个端口;若宿主机已有 Nginx/Apache 占用,必须先停掉或换端口(比如-p 8080:80),但后续要手动配反向代理 -
--privileged:上文已说明,关键权限开关 -
-v /opt/rancher:/var/lib/rancher:强制持久化数据;不加的话容器删了,所有集群、用户、证书全丢
完整命令示例:
在 Linux 上通过 Docker 运行 OpenClaw,并使用 Tailscale 实现远程访问。⚠️ 涉及 sudo、Docker、Tailscale和凭证挂载——请先查阅安全章节...
sudo docker run -d --privileged \<br> --restart=unless-stopped \<br> -p 80:80 -p 443:443 \<br> -v /opt/rancher:/var/lib/rancher \<br> rancher/rancher:stable
首次访问时卡在 “Setting up your server” 页面怎么办
这不是加载慢,而是 Rancher 正在初始化内嵌 local 集群,常见阻塞点有三个:
- DNS 解析失败:容器内无法解析
localhost或宿主机名,检查/etc/hosts是否含127.0.0.1 localhost,或启动时加--add-host=host.docker.internal:host-gateway - 证书生成卡住:如果系统熵值低(尤其云服务器刚初始化),执行
sudo apt install -y haveged或sudo yum install -y haveged补充随机数 - 镜像拉取超时:国内环境务必配置 Docker daemon 的镜像加速器,编辑
/etc/docker/daemon.json加入:{ "registry-mirrors": ["https://registry.cn-hangzhou.aliyuncs.com"] }然后sudo systemctl restart docker
设置 Rancher Server URL 时填什么才不会后续报错
这个 URL 是下游集群节点用来连 Rancher 的地址,填错会导致节点注册失败、证书不匹配、Agent 无限重连。
- 如果是本地测试:填
https://192.168.x.x(宿主机真实内网 IP),别填localhost或127.0.0.1—— 下游节点根本连不到 - 如果是云服务器且开了 443 端口:填
https://your-domain.com,但必须提前配置好域名 DNS 解析,并确保该域名能被所有下游节点解析 - 千万别填
http://开头:Rancher 强制要求 HTTPS,填 HTTP 会导致 Agent 启动后立即退出,日志里只有invalid certificate
填完后 Rancher 会自动生成对应域名的 TLS 证书;如果用的是自签名证书,下游节点首次导入时浏览器会提示不安全 —— 这是正常现象,点击“高级 → 继续访问”即可。










