docker-minecraft-server 完整上手教程从纯净服到整合包的容器化部署【免费下载链接】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-serverdocker-minecraft-server 是一个 Minecraft Java 版服务器镜像你在容器里改几个环境变量它就在启动时自动完成服务端下载、版本升级、模组加载器安装甚至整合包部署。本教程带你用 docker-minecraft-server 跑通第一个服务器并逐步覆盖插件服、模组服和整合包最后给出一套内存与 JVM 的调优思路适合想动手但没接触过这个项目的你。一、它替你省掉的四件事手动下载并替换服务端镜像启动时按你声明的版本自动获取升级就是改个环境变量环境冲突Java、Forge、Fabric 各自依赖不同多个服务器实例互不干扰版本碎片化Minecraft 版本、Forge 版本、Fabric 加载器版本都能分别锁定或跟随最新部署重复劳动同一份 compose 文件换台机器照跑数据放在挂载卷里随手迁移二、装好到跑通最小可用环境要几步准备 Docker 和 Compose。确认两条命令都有输出即可docker --version docker compose version在当前目录新建compose.yml先只跑纯净版不指定类型时默认就是 VANILLAservices: mc: image: itzg/minecraft-server ports: - 25565:25565 environment: EULA: TRUE VERSION: 1.21.1 volumes: - ./data:/data逐行说明EULA: TRUE是接受 Mojang 用户协议缺了它容器直接退出VERSION锁定 Minecraft 版本去掉则跟随最新稳定版./data:/data把世界、配置、模组全部落到宿主机目录容器删了数据还在。启动并看日志docker compose up -d docker logs -f mc判断是否成功日志滚到Done (xx.xs)! For help, type help表示启动完成首次运行要下载服务端文件通常 1-3 分钟卡住别慌。此时用客户端连接本机IP:25565能进游戏即部署完成。三、四种主要部署方式逐一拆解1. 纯净服VANILLA适用场景就想原汁原味联机。就是第二节那份配置核心变量只有VERSION和EULA。更多版本取值规则见 docs/versions/minecraft.md。2. 插件服PAPER 为例适用场景需要 EssentialsX 这类 Bukkit 生态插件。在第二节基础上加两行environment: TYPE: PAPER PLUGINS: https://.../essentialsx.jarTYPE: PAPER切换服务端实现同样支持 SPIGOT、PURPUR 等PLUGINS按行传插件下载地址容器启动时自动拉进插件目录。插件服完整示例见 examples/paper/compose.yml各类型区别见 docs/types-and-platforms/server-types/paper.md。3. 模组服FORGE / FABRIC适用场景要装单个模组而不是整套整合包。environment: TYPE: FORGE VERSION: 1.20.1 FORGE_VERSION: latestVERSION指 Minecraft 版本FORGE_VERSION指加载器版本Fabric 同理设TYPE: FABRIC。模组本身可以挂载目录或给一个清单文件自动下载。参考 examples/docker-compose-forge.yml 和 examples/fabric/compose.yml说明见 docs/types-and-platforms/server-types/forge.md。4. 整合包AUTO_CURSEFORGE适用场景直接部署 All the Mods 这类 CurseForge 整合包连 Forge 版本都帮你选好。environment: MODPACK_PLATFORM: AUTO_CURSEFORGE CF_PAGE_URL: https://www.curseforge.com/minecraft/modpacks/all-the-mods-9 MEMORY: 4GCF_PAGE_URL指向整合包页面镜像自动解析最新文件并安装对应加载器再次启动时还能自动升级。完整示例见 examples/auto-curseforge/atm9/docker-compose.yml原理说明见 docs/types-and-platforms/mod-platforms/auto-curseforge.md。部署方式核心变量典型用途VANILLA默认VERSION原版联机PAPERTYPEPLUGINS插件服FORGE / FABRICTYPE 加载器版本单模组AUTO_CURSEFORGEMODPACK_PLATFORMCF_PAGE_URL整包一键部署四、进阶调优内存和 JVM 怎么配内存分几档。整合包动辄吃 4-6G用MEMORY: 4G一把设置初始和最大堆想精细控制就拆成INIT_MEMORY: 2GMAX_MEMORY: 4G。变量全表见 docs/variables.mdJVM 细节见 docs/configuration/jvm-options.md。RCON 顺手管理。RCON 默认开启给运维通道设个密码就能从容器外发命令environment: RCON_PASSWORD: your-secret然后在容器里用自带工具执行docker exec -it mc mc-send-to-console say hello发命令的三种途径SSH、WebSocket、exec见 docs/sending-commands/commands.md。五、典型部署场景低配长开机加自动停机没人玩就省资源。设ENABLE_AUTOSTOP: TRUE和AUTOSTOP_TIMEOUT_EST: 300最后一个玩家离开 5 分钟后停服同时务必写restart: no否则 Docker 会自动拉起、白停一场。示例见 examples/autostop/compose.yml说明见 docs/misc/autopause-autostop/autostop.md。树莓派 / 集群镜像提供 arm 架构老设备选itzg/minecraft-server:java17-alpine这类 tag 更省内存多服务器网络可用 Velocity 做前置示例在 examples/multi-project/Kubernetes 编排参考 examples/k8s/。六、踩坑速查现象原因一行解法容器启动后立刻退出日志提示 EULA没接受用户协议加EULA: TRUE客户端连不上提示端口不通25565 被本机其他程序占用改成ports: [25566:25565]mc-send-to-console报 403RCON 密码不对或未设设RCON_PASSWORD后重启容器日志长时间停在下载步骤首次拉取服务端/整合包较慢耐心等卡超 10 分钟再查网络autostop 停服后又自己起来了restart策略把容器拉了回去写restart: no从纯净服到整合包一条 compose 文件就能覆盖先按第二节跑通再按需换成第三节的部署方式进阶部分只在卡顿时再动。想深入的话变量清单在 docs/variables.md镜像 tag 与 Java 版本对应关系在 docs/versions/java.md更多组合玩法直接翻 examples/ 目录。【免费下载链接】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),仅供参考