使用 Docker 搭建 Minecraft Fabric 服务器

使用 Docker 搭建 Minecraft Fabric 服务器

GT610 Lv3

🤓 书接上回

另一个朋友看我弄来了 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
version: '3'

services:
minecraft-server:
image: itzg/minecraft-server
container_name: mcserver
ports:
- "25565:25565"
environment:
EULA: "TRUE"
MEMORY: 6G
VERSION: "1.21.1"
TYPE: FABRIC
volumes:
- /opt/mcserver:/data
restart: unless-stopped

参数说明

  • ports: 映射宿主机 25565 端口到容器的 25565。宿主机端口可以任意更改,容器端口可以通过 SERVER_PORT 变量进行修改(参考文档内容)。

请勿在未先设置 RCON_PASSWORD 为安全值的情况下转发 25575 端口。强烈建议仅在容器内使用 RCON,例如使用 rcon-cli

  • environment:
  • 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
2
3
Ncat: Version 7.93 ( https://nmap.org/ncat )
Ncat: Connected to 127.0.0.1:25565.
Ncat: 0 bytes sent, 0 bytes received in 0.08 seconds.

则说明服务器工作正常。

然后将主机的对应内部端口映射到公网即可。

映射到公网之后,也可以用同样的方式测试公网是否能连接:

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 进行许可。
评论