3分钟跑通Docker Create模组服务器:Minecraft模组服务器容器化部署
2026/9/12 12:57:05 网站建设 项目流程

3分钟跑通Docker Create模组服务器:Minecraft模组服务器容器化部署

【免费下载链接】docker-minecraft-serverDocker image that provides a Minecraft Server for Java Edition that automatically installs/upgrades versions, modloaders, modpacks and more at startup项目地址: https://gitcode.com/GitHub_Trending/do/docker-minecraft-server

还在手动搭Minecraft模组服务器?装服务端、找Forge版本、翻Create模组的下载链接,一步卡住就得从头再来。本文基于 docker-minecraft-server 项目的 itzg/minecraft-server 镜像,用一份 Docker Compose 文件就能让带机械动力(Create)的Minecraft模组服务器一次跑通:

  • 模组依赖首次启动自动装好,不用手动找 jar
  • 配置全在一个文件里,换个机器照样复现
  • 容器删了存档也不丢,数据落在宿主机卷上

🧭 思路先行:容器化为什么省事

这个镜像内置了一整套“开机逻辑”:每次启动先读你的环境变量,下载匹配的 Java 版本和 TYPE 对应的服务端,再把列出的模组自动拉下来,安装环节你完全不用碰。整个启动链路大致长这样:

所有设置收敛到一份 YAML,跑通后原样拷走就能在任何机器复现;而存档、配置、模组全部落在挂载卷里,容器随便重建,数据都安稳留在宿主机。想好这一点,后面配置就没有难度了。

📦 动手准备:Docker环境与项目资源

  • Docker Engine 20.10 以上,Docker Compose v2 以上
  • 内存至少 4 GB,跑带模组的 Create 服务端推荐 8 GB 起
  • 项目使用说明见 README.md,官方文档入口在 docs/index.md,全部可配变量的清单在 docs/variables.md

环境就绪后,就可以直接上手了。

🚀 一次跑通:用Docker Compose部署Minecraft模组服务器

先把仓库代码拉到本地,给配置文件留个落脚处:

git clone https://gitcode.com/GitHub_Trending/do/docker-minecraft-server cd docker-minecraft-server

这一步只是取个本地目录,镜像本身是从仓库直接拉的,不依赖这份代码。

接着在根目录新建create-server.yml,核心就三处:TYPE 指定 Forge 启动方式、VERSION 锁定游戏版本、MODS 列出模组下载地址,剩下就是端口和数据目录:

version: "3.8" services: mc: image: itzg/minecraft-server environment: EULA: "TRUE" TYPE: "FORGE" VERSION: "1.19.2" FORGEVERSION: "43.2.0" MODS: | https://mediafilez.forgecdn.net/files/4111/926/create-1.19.2-0.5.1.d.jar https://mediafilez.forgecdn.net/files/4108/346/createaddition-1.19.2-20230306a.jar ports: - "25565:25565" volumes: - ./create-data:/data

注意EULA: "TRUE"这行是硬性前置,不勾选协议服务端直接拒启。

然后一条命令起服务:

docker compose -f create-server.yml up -d

首次启动会拉取 Forge 运行时并下载两个模组,视线路快慢需要两三分钟到五分钟,日志打出 "Done" 就能进游戏。./create-data卷是后续所有存档与模组配置的落点,世界数据是怎么从宿主机进容器的,看这张图更直观:

⚙️ 关键配置详解

跑通之后,配置里最值得琢磨的有两处:模组列表为什么外置,JVM 参数为什么这么给。

用MODS_FILE批量管理Create模组依赖

模组少时直接堆在 MODS 多行字符串里没问题,但列表一长,YAML 里全是 URL 就很难维护。MODS_FILE指向一个纯文本文件、每行一个下载链接,改列表不用碰 YAML,官方示例在 examples/mods-file/docker-compose.yml:

environment: MODS_FILE: /data/mods.txt volumes: - ./mods.txt:/data/mods.txt:ro

末尾的:ro很关键——文件在容器内只读,加减模组只改本地文件、重启即生效。列表内容长这样,加注释也没问题:

https://mediafilez.forgecdn.net/files/4111/926/create-1.19.2-0.5.1.d.jar https://mediafilez.forgecdn.net/files/4108/346/createaddition-1.19.2-20230306a.jar

用JVM参数调优机械动力服务端性能

Create 这类重计算模组,默认 1 GB 堆内存明显不够。思路是先把上限给足、初始值别太低,再压 GC 停顿:

environment: JVM_OPTS: "-Xmx6G -Xms4G -XX:+UseG1GC -XX:MaxGCPauseMillis=40"

4G 起步能省掉频繁扩容的开销,40ms 停顿目标是高峰时刻自动工厂也不卡顿。想细看各变量怎么组合,翻 docs/configuration/jvm-options.md 即可。

🔁 日常运维:日志、更新与备份

按实际操作频率从高到低排:

查日志(每天)——绝大多数问题不用改配置,看日志就有答案:

docker compose -f create-server.yml logs -f

更新模组(每月数次)——把列表里的版本链接换成新版,再重启容器:

docker compose -f create-server.yml down docker compose -f create-server.yml up -d

备份(每月一次)——整个数据目录压缩一份,就是可还原的存档:

zip -r create-backup-$(date +%F).zip ./create-data

存档的进阶管理方式可参考 docs/misc/world-data.md。

🩺 故障速查:Docker部署Minecraft服务器常见报错

症状常见原因一条命令解决
25565 端口被占用宿主机已有进程占用映射改成25566:25565,客户端用新端口连
模组冲突、启动即崩旧 jar 与新版本互相打架REMOVE_OLD_MODS: "TRUE"REMOVE_OLD_MODS_INCLUDE: "*.jar",重启时自动清理
起不来或连不上缺 EULA、版本号笔误docker compose -f create-server.yml logs看报错首行

更多排查思路沉淀在 docs/misc/troubleshooting.md。

✅ 收尾

到这里,一个 Create 模组服务端已经做到一键起停、一键迁移、一键备份,手配时代的麻烦基本清零。觉得有用就收藏本文并关注账号,下期预告:《Create自动化农场的容器化部署》,就在这套环境上搭出会自己干活的农场。

【免费下载链接】docker-minecraft-serverDocker image that provides a Minecraft Server for Java Edition that automatically installs/upgrades versions, modloaders, modpacks and more at startup项目地址: https://gitcode.com/GitHub_Trending/do/docker-minecraft-server

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询