Minecraft Docker Image:游戏存储持久性

我正在尝试使用这个Vanilla Minecraft docker镜像来为朋友运行一个Minecraft服务器,但似乎无法让它的数据超出容器本身的寿命。

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

为了testing我的方法,我会:

  • 启动容器(下面提供的命令与我尝试的每种方法)
  • join服务器
  • 在我周围挖一圈,作为我去过的指标
  • 与服务器断开连接
  • 停止容器docker stop generated_name
  • 再次使用上面相同的命令启动容器
  • 再次join服务器
  • 是我挖的那个圈还有世界变了吗?

我还没有find一个不会丢失我的数据的方法。 以下是我所尝试的:

方法1:一体化

我尝试在容器中安装/opt/minecraft作为/minecraft

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

方法2:个人卷

我在Dockerfile中注意到列出了3个卷 :

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

所以在销毁并重新创build一个空的/opt/minecraft并创build三个文件夹来安装之后,我尝试了这个:

 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中,我都可以看到已经在作为卷装载的文件夹中创build了一些文件(所以我不认为这是一个权限问题),但是这似乎不足以保持我的世界从容器重新启动后再次从头开始创build。 我错过了什么?

我也是Minecraft的新手。 也许有一些关于我错过的游戏的细微差别呢?

你的第二种方法应该是保持世界的完美,至less我是这么做的。