
使用 Docker 搭建 Minecraft Fabric 服务器
🤓 书接上回
另一个朋友看我弄来了 4 核 4 GB 的宿迁 NAT 主机,只要 20 元/月,觉得很便宜,于是也买了俩月,想要开 Minecraft Java 版服务器。(真不是打广告啊)
他选择直接安装 Java,直接下载服务器 jar 包,然后……直接运行。结果当然是跑不起来了。我看得也挺急,自己帮他研究了一下,发现有一个神级 Docker 项目,可以通过 Docker 容器开服。特此写一篇文章记录搭建过程。
🛠️ 环境准备
VPS 配置如下:
硬件 | 配置 |
---|---|
CPU | 至强铂金 8275CL,4 核 |
内存 | 4GB(后来扩展至 8 GB) |
硬盘 | 30 GB NVMe SSD |
操作系统 | Debian 12 |
网络 | NAT 公网端口映射 |
带宽 | 上行 50 Mbps,下行 30 Mbps |
容器采用 Docker。
之所以选择 8 GB 内存而不是 4 GB,是因为在之前采用 4 GB 内存的时候,随着玩家人数的增加和地图的发展,内存经常溢出,进而引发服务器停止运行。后来我们发现,目前的服务器承载量至少需要 5 GB 内存。
🐋 创建容器
我们使用的是 itzg/minecraft-server 这个社区维护的镜像,它支持多种类型的服务端(如 Vanilla、Paper、Forge、Fabric),以及不同版本,并且配置非常简单。
此外,它还有内容丰富的文档,里面详细记录了各种参数和配置,这里就不赘述了。
创建 Docker Compose 文件
下面是我们的 docker-compose.yml
文件内容:
1 | version: '3' |
参数说明
- ports: 映射宿主机 25565 端口到容器的 25565。宿主机端口可以任意更改,容器端口可以通过
SERVER_PORT
变量进行修改(参考文档内容)。
请勿在未先设置 RCON_PASSWORD
为安全值的情况下转发 25575 端口。强烈建议仅在容器内使用 RCON,例如使用 rcon-cli
。
- environment:
EULA
: 同意 Mojang 的用户协议。不要修改它,否则容器无法运行。MEMORY
: 设置最大可用内存为 6G。这里建议参考文档中的 JVM 选项配置。VERSION
: 指定 Minecraft 版本。我们要开的是 1.21.1 版本的服务器。参考文档中关于版本的设定。TYPE
: 指定服务端。我们要开的是 Fabric 服务端。参考文档 Server types 部分。
- volumes: 将服务器数据挂载到宿主机
/opt/mcserver
目录。你可以挂载到宿主机任意目录,但是后面的/data
参数不可更改。 - restart: 容器异常退出时自动重启。
启动服务器
执行以下命令启动服务:
1 | docker-compose up -d |
首次运行会自动下载 Fabric 对应版本的服务端文件,并初始化配置。由于下载地址位于海外,速度可能会慢一点,可以通过 docker logs -f mcserver
查看进度。
检查服务器是否正常运行
在服务器上输入命令:
1 | nc -vz 127.0.0.1 25565 # 需要先安装 ncat 软件包 |
若输出:
1 | Ncat: Version 7.93 ( https://nmap.org/ncat ) |
则说明服务器工作正常。
然后将主机的对应内部端口映射到公网即可。
映射到公网之后,也可以用同样的方式测试公网是否能连接:
1 | nc -vz [公网地址] [公网端口] |
1 | Connection to [公网地址] ([公网 IP]) [公网端口] port [tcp/*] succeeded! |
此输出说明公网访问正常。
然后打开游戏客户端,在“多人游戏”中连接服务器,进入主世界,搭建成功。
💾 数据持久化与备份
由于我们将服务器数据目录挂载到了宿主机上(/opt/mcserver
),因此即使容器被删除或重建,游戏世界和配置依然会被保留。
有关游戏数据的结构,请参考文档 Data directory 部分。
我们也定期对这个目录进行备份,以防止数据丢失。
📦 添加模组(Mods)
如果需要添加 Fabric 模组,只需将 .jar
文件放入宿主机的 /opt/mcserver/mods
目录中。容器启动时会自动加载这些模组。
某些模组可能还需要额外依赖库或配置修改,具体请参考模组文档。
📝 总结
通过 Docker Compose 搭建 Minecraft 服务端不仅快速便捷,还能保证良好的可维护性和稳定性,几乎不需要手动干预就能完成各种类型的服务器部署。
反正朋友看完操作之后,下定决心要学好 Docker 了……虽然这服务器实际上还是我在维护。
目前该服务器的日活跃玩家在 6-7 人,地图已经扩展到主世界、下界和末地,规模也越来越大。这个容器持续运行了一个多月,目前没有出任何问题,可见它的稳定性之高。
我自己不是很了解 Minecraft,欢迎大家交流探讨,共同学习!
- 标题: 使用 Docker 搭建 Minecraft Fabric 服务器
- 作者: GT610
- 创建于 : 2025-07-13 22:22:39
- 更新于 : 2025-09-23 15:09:18
- 链接: https://gt-610.dpdns.org/2025/07/13/docker-mc-server/
- 版权声明: 本文章采用 CC BY 4.0 进行许可。