docker-minecraft-server 完整指南:3 个环境变量,10 分钟上线可玩的 Minecraft 服务器 📅 发布时间:2026/9/12 7:47:35 👁 浏览次数: docker-minecraft-server 完整指南3 个环境变量10 分钟上线可玩的 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想开服却不想手动下 jar、装 Java、一个个装模组docker-minecraft-server 是一个在容器启动时自动下载、安装并升级服务器、模组加载器与整合包的 Docker 镜像你只需在 compose 文件里声明几个环境变量。这篇指南带你从 5 分钟拉起原版服到一键部署 CurseForge 整合包并学会备份与远程管理。一键部署5 分钟拉起第一台 Minecraft 服务器先说清楚两件事镜像里内置了完整的启动脚本负责下载服务端、应用配置、启动进程你唯一必须声明的是EULA: TRUE这是 Mojang 的协议接受声明缺失时容器会直接拒绝启动。在任意目录创建compose.yamlservices: mc: image: itzg/minecraft-server:latest ports: - 25565:25565 environment: EULA: TRUE volumes: - ./data:/data tty: true stdin_open: true其中./data:/data把宿主目录挂到容器的数据根目录你的存档、配置都会落在这里容器删了数据也不会丢。然后执行docker compose up -d docker compose logs -f首次启动需要下载服务端和 Java 依赖稍等片刻。日志中出现Done且端口 25565 开放即算成功——打开游戏客户端填入宿主机 IP 和25565能进入服务器就部署完成了。如果你之前习惯docker run单容器调试后续运维建议迁移到 compose 方式改配置只需重跑docker compose up -d改一行配置切换服务器类型与游戏版本原版服跑起来后最常见的两个动作是换服务端类型比如上 Paper 拿性能优化和锁定 Minecraft 版本。这两个动作都只改环境变量环境变量作用常用取值TYPE选择服务端类型VANILLA、PAPER、FORGE、FABRIC、NEOFORGEVERSION锁定 Minecraft 版本LATEST默认、SNAPSHOT、1.20.4等具体版本号比如切换到 Paper 并固定 1.20.4只需在environment里追加TYPE: PAPER VERSION: 1.20.4改完执行docker compose up -d下次启动容器会自动下载对应服务端。注意不同 Minecraft 版本需要不同的 Java如果启动报类版本错误按 Java 版本说明 给镜像加对应的标签即可无需自己折腾 JDK。更多服务端类型Folia、Quilt、Magma 等的完整列表见 服务器类型文档。整合包自动化CurseForge 模组一键下载模组服最烦人的是逐个下载模组、对齐加载器版本。用AUTO_CURSEFORGE模式镜像会根据整合包声明自动安装匹配的 Forge/Fabric下载全部依赖模组并在每次启动时检查升级、清理旧版本文件。以 ATM8 为例核心配置只有四行environment: EULA: TRUE MODPACK_PLATFORM: AUTO_CURSEFORGE CF_SLUG: all-the-mods-8 MEMORY: 4GCF_SLUG是整合包在 CurseForge 页面 URL 中的短标识MEMORY建议至少4G默认 1G 跑整合包不够用。有几种情况需要留意想锁定具体版本时用CF_FILE_ID指定文件 ID而不是只给 slug详见 Auto CurseForge 文档日志出现Mods Need Download说明有文件不允许自动下载把浏览器手动下的文件放进挂载到/downloads的目录再重启即可个别整合包自带客户端专用模组可用CF_EXCLUDE_MODS排除验证成功日志滚过一段下载进度后出现Done且客户端以整合包身份带模组启动能正常进入世界就说明依赖解析成功了。世界数据管理备份、恢复与克隆所有游戏数据都在/data下世界目录、server.properties、模组缓存。日常备份最简单——停服后直接拷贝./data目录。镜像还内置了更省事的能力完整说明见 世界数据文档直接吃网络存档设置WORLD: https://.../world.zip启动时自动下载解压自动识别level.dat定位世界本地目录克隆把母本世界放在只读挂载的目录里用WORLD: /worlds/basic引用适合一个母本、多张子服的场景environment: WORLD: /worlds/basic volumes: - ./worlds:/worlds:roLEVEL变量可让同一份数据目录切换不同世界名比如多开几台容器分别跑不同存档。远程运维控制台、自动暂停与自动停止服务器跑起来之后两个高频需求是人在外面也能管服和没人玩时别空耗资源。远程控制台镜像默认启用 RCON远程命令通道可远程执行stop、广播等指令设置WEBSOCKET_CONSOLE: true后还能通过 WebSocket 实时看日志、发指令见 WebSocket 文档等于有个网页版控制台。自动暂停/停止设置ENABLE_AUTOPAUSE: true最后一个玩家离开一段时间后服务器自动暂停有人敲门客户端 ping又自动恢复省 CPU 又秒上线ENABLE_AUTOSTOP: true则是直接停服。两者互斥二选一即可参数细节在 AutoPause 文档。常见坑速查现象原因与解法容器秒退日志提示 EULA未设置EULA: TRUE加上即可启动报UnsupportedClassVersionJava 版本与 MC 版本不匹配按 Java 版本说明 换镜像标签整合包卡死或崩溃内存不足把MEMORY提到4G以上宿主机 25565 被占用把端口映射改成25566:25565客户端填新端口改完配置不生效compose 文件改动后需重跑docker compose up -d完整的变量清单参考 环境变量总览各种现成 compose 文件可以直接抄 examples 目录。下一步到这里你已经能独立运维一台带整合包的 Minecraft 服务器了。接下来建议按这个顺序深入先给服务器配置MOTD、白名单等 server properties 细节再看 JVM 调优文档 按玩家规模优化 GC 参数如果打算长期多服运营可以研究 Kubernetes 部署示例 把这套 compose 模式复制到集群上。【免费下载链接】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),仅供参考