首页 > 解决方案 > 我试图通过 docker 托管我的世界服务器并访问文件

问题描述

我正在尝试按照使用此图像的教程托管 Minecraft 服务器。我输入了他提取的命令如下:

docker run -d -p 25565:25565 --name mc -e EULA-TRUE --restart always -v /home/docker/minecraft/ data:/data itzg/minecraftserver

但我得到了错误

docker: invalid reference format.
See 'docker run --help'.

在尝试解决此问题时,我在 docker 网站上找到有关安装和卷的文档。我认为这就是我想要的,但我不明白如何使用它来为容器及其文件创建一个可访问的文件夹。该命令是否允许我访问服务器上的文件,还是我需要做其他事情?

标签: dockerminecraft

解决方案


从码头文档:

使用绑定挂载时,主机上的文件或目录会挂载到容器中

这意味着,您可以将本地机器中的本地文件或目录挂载到 docker 容器文件系统中。这意味着 - 已挂载的 localhost 文件或目录中的所有文件和目录都将挂载到 docker 容器,如果文件名相同(目录相同),则将覆盖 docker 容器文件。

重要提示:docker 容器还会将其文件/目录挂载到本地文件系统。但是,与相反的方向(本地 -> docker 容器)相反,docker 容器不会覆盖本地主机文件系统中的任何文件或目录。

另外请注意,如果您想避免将文件从 localhost 覆盖到 docker 容器文件系统,您将使用最基本的卷:匿名卷。

从主要评论看来,您实际上想要运行以下命令:

docker run -d -p 25565:25565 --name mc -e EULA=TRUE --restart=always -v /home/docker/minecraft/_data:/data itzg/minecraft-server

我不喜欢我的世界服务器,但你应该注意你在这个命令中使用你的本地目录:/home/docker/minecraft/_data. 我认为你确保它具有正确的内容(因为它将被安装到你的 docker 容器文件系统/data到稍后查看此数据。


推荐阅读