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我是这么做的。