Minecraft服务器 Docker部署 完整避坑指南:5分钟从原版拉起模组服
【免费下载链接】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
手动装服务端时,EULA没勾、Java版本不匹配、25565端口被占,这些坑要一个个踩。用 docker-minecraft-server 镜像做 Minecraft服务器 Docker部署 时,下载服务端、适配 Java 版本、安装整合包这些脏活,镜像启动脚本都会自动做完,你只管写几行 compose。
先选对服务器类型:5种TYPE怎么挑
项目通过TYPE环境变量切换服务端类型,不同玩家需求差别很大,先按用途选型:
| 类型 | 设置方式 | 适合谁 |
|---|---|---|
| 原版 | TYPE: VANILLA(默认) | 只想纯净生存、配置越少越好 |
| Paper | TYPE: PAPER | 要装 Bukkit/Spigot 插件的联机服 |
| Fabric | TYPE: FABRIC | 轻量 Fabric 模组,一个轻量模组加载器 |
| Forge | TYPE: FORGE | 老模组生态与大型 Forge 整合包 |
| 整合包平台 | MODPACK_PLATFORM: MODRINTH/CURSEFORGE | 直接部署现成整合包,如 ATM、RLCraft |
整合包平台会替你完成"解析模组列表 → 下载加载器 → 拉取全部模组"整个流程,比手填 Forge 版本省事得多。拿不准就看 各类型选型文档。
5分钟拉起第一台Minecraft服务器:最小compose配置
下面这份配置解决"从零到能连上"的全部问题,只留了 4 个必要字段:
services: mc: image: itzg/minecraft-server ports: - "25565:25565" # 左边是你主机要开放的端口 environment: EULA: "TRUE" # 不设为TRUE容器会直接退出 volumes: - ./data:/data # 世界数据挂到主机目录,丢了就全丢docker compose up -d首次启动会下载服务端与 Java,几分钟内客户端就能用 IP 加端口 25565 连上。完整变量含义可查 变量说明。
对接模组平台,如何一次锁定游戏与Java版本
装整合包不用手动下载。Modrinth 路线只需给一个标识,版本号或完整链接都行:
MODPACK_PLATFORM: MODRINTH加MODRINTH_MODPACK: cobblemon-fabric
CurseForge 路线则是TYPE: AUTO_CURSEFORGE加项目ID与文件ID:
environment: - EULA=TRUE - TYPE=AUTO_CURSEFORGE - CF_PROJECT_ID=325345 # 整合包项目ID - CF_FILE_ID=456789 # 锁定具体版本文件文件ID 的获取位置见 CurseForge 文件说明 和 Modrinth 配置文档。
Java 版本别靠猜,镜像标签决定容器里用哪个 Java:
- 1.17 ~ 1.20.4 → 用
itzg/minecraft-server:java17 - 1.20.5 及以上 → 需要 Java 21,用
itzg/minecraft-server:java21 - 1.12 ~ 1.16 的 Forge 服 → 必须用
java8标签
启动时报UnsupportedClassVersionError,基本就是 Java 标签和游戏版本没对上,对照 Java 版本与镜像标签对照 换标签即可。
数据别丢端口不撞:持久化、备份与内存设置
- 备份:停服后把
./data整个压缩一份再备份,world子目录就是存档本体,目录结构见 世界数据指南 - 端口冲突:容器端口固定 25565,冲突时只改冒号左边的主机端口即可
ports: - "25566:25565" environment: JVM_OPTS: "-Xms2G -Xmx4G" # 内存默认偏小,模组服按需调大- 内存不够时服务端卡顿是常见表现,上面两行一起改就行
- 想让空服自动停服,加
ENABLE_AUTOPAUSE: "TRUE",完整用法见 自动暂停示例
跑通之后往哪走
- 全部环境变量说明:解决"这个变量干什么"
- 整合包示例集合:ATM、RLCraft 等现成 compose 直接抄
- Kubernetes 部署示例:多副本场景参考
把上面那份最小 compose 跑通、客户端连上之后,下一步直接改TYPE换成 Paper 或挂上整合包,同一套流程继续用。
【免费下载链接】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),仅供参考