docker - 我试图通过 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 网站上找到了有关安装和卷的文档。我认为这就是我想要的,但我不明白如何使用它来为容器及其文件创建一个可访问的文件夹。该命令是否允许我访问服务器上的文件,还是我需要做其他事情?
解决方案
使用绑定挂载时,主机上的文件或目录会挂载到容器中
这意味着,您可以将本地机器中的本地文件或目录挂载到 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
到稍后查看此数据。
推荐阅读
- firebase - 如何修复 Firestore Flutter 依赖项错误?
- vhdl - 如何为由 for-generate 创建的层次结构中的信号创建 VHDL-2008 别名?
- artifactory - 有没有办法一次导出多个(但不是全部)工件存储库?
- node.js - Mongodb Typescript UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'conn' of undefined at Object.connectToDatabase [as default]
- redux - 使用 put 方法时的 URL 不正确
- c# - ONNX C#:如何读取这个对象并提取概率值?
- c# - 如何使用 Blazor 和 NetCore 5 在电子邮件中将 razor 组件作为正文发送?
- ios - iOS:继承不同的xib文件
- java - 如何使用此类创建实例?
- jquery - 使用 laravel/ajax 一次生成多个文档