You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rancher 2.6下Docker部署Minecraft Bind-Mount数据不持久化问题求助

Minecraft Rancher部署持久化问题排查与解决

排查步骤

  • 确认Pod实际运行节点:Rancher多节点集群下Pod会被调度到任意工作节点,你当前查看的宿主机可能不是Pod运行节点。执行kubectl get pod <你的minecraft-pod名称> -o wide查看Pod调度的节点IP,登录对应节点再检查挂载目录。
  • 验证相对路径解析位置:你配置的./minecraft-data相对路径在K8s环境下,是相对于kubelet进程的工作目录(默认/var/lib/kubelet/下的Pod专属目录),而非你编写YAML文件的本地目录,你在YAML存放目录查找自然看不到文件。
  • 检查挂载匹配与权限:执行kubectl exec <你的minecraft-pod名称> -- df /data查看容器内/data目录的挂载设备ID,和宿主机对应目录的设备ID做对比,确认是否成功绑定。itzg的Minecraft镜像默认以UID 1000的用户运行,如果宿主机挂载目录没有给1000UID开放写入权限,数据会写入容器可写层而非挂载目录,也会导致宿主机目录为空。
  • 检查Rancher存储规则覆盖:部分Rancher集群默认会为未指定存储类的工作负载自动分配本地PV,你配置的bind-mount可能被默认规则覆盖,实际挂载的是集群自动创建的临时存储。执行kubectl describe pod <你的minecraft-pod名称>查看Volumes字段的实际挂载源,确认是否和你配置的目录一致。

解决方案

  • 单节点部署场景:改用绝对路径配置绑定挂载,避免相对路径解析歧义,配置示例如下:
volumes:
  - /opt/minecraft-data:/data

提前在节点执行权限配置命令:chown -R 1000:1000 /opt/minecraft-data && chmod 755 /opt/minecraft-data

  • 多节点部署场景:不要使用本地bind-mount,配置NFS共享存储或Rancher内置Longhorn存储类,创建PVC绑定到Minecraft工作负载的/data目录,保证Pod跨节点调度时数据依然可访问。
  • 也可以直接在Rancher UI的工作负载配置页,选择「存储」→「添加卷」→「绑定现有主机路径」,手动指定绝对路径完成挂载,避免YAML配置被集群规则覆盖。

内容的提问来源于stack exchange,提问作者Alexp987

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 20:30:00