2017-02-24 26 views
1

我试图使用this Vanilla Minecraft docker image为朋友运行Minecraft服务器,但似乎无法获得其数据超出容器本身的寿命。Minecraft Docker图像:游戏存储持久性

我在Ubuntu主机上运行,​​并在该主机上创建了/opt/minecraft,我希望容器外的任何持久数据能够存活。

为了测试我的方法我想:

  • 启动(下面提供了每种方法我试过命令)的容器
  • 加入服务器
  • 挖自己绕一大圈作为我的指标去过那里从服务器
  • 断开停止容器docker stop generated_name
  • 开始续ainer再次使用与上面相同的命令
  • 再次加入服务器
  • 是我挖掘的圆圈/是否已改变了世界?

我还没有找到一种不会丢失我的数据的方法。以下是我已经试过:

方法1:在同一个

我尝试了安装/opt/minecraft作为/minecraft容器:

docker run -d -v /opt/minecraft:/minecraft -p 25565:25565 webhippie/minecraft-vanilla 

方法2:单个卷

我注意到在Dockerfile中有3 volumes listed

VOLUME ["/minecraft/merge", "/minecraft/world", "/minecraft/logs"] 

所以破坏并重新创建一个空的/opt/minecraft并创建三个文件夹安装后,我尝试这样做,而不是:

docker run -d -v /opt/minecraft/world:/minecraft/world -v /opt/minecraft/merge:/minecraft/merge -v /opt/minecraft/logs:/minecraft/logs -p 25565:25565 webhippie/minecraft-vanilla 

在这两种方法1和2,我可以看到一些文件已在被创建文件夹(s)挂载为卷(所以我不认为这是一个权限问题),但它似乎不足以让我的世界从容器重新启动后再次从头开始创建。我错过了什么?

我也是Minecraft的新手。也许有一些关于我缺少的游戏的细微差别,反而呢?

回答

1

你的第二种方法应该是完全正确的,以保持世界,至少我是这么做的。

+0

感谢您的验证。也许我认为这可能是节省不上?我用'manage'工具做了一些游戏,并启用了保存功能并立即保存,现在它似乎正在工作。定期定期保存与cron,现在一切似乎都很好。谢谢! –

+1

所有的管理命令也可以在游戏中使用,如果启用自动保存,则根本不需要任何cronjob。你可以在https://github.com/dockhippie/minecraft-vanilla/blob/master/rootfs/usr/libexec/manage-save-on#L8上看到rcon命令 –