
rdall96/minecraft-server该Docker镜像基于Alpine Linux构建,包含运行Minecraft服务器所需的组件。支持多种Minecraft版本,适用于快速部署个人或小型社区服务器。
支持的Minecraft版本:
bashdocker pull rdall96/minecraft-server:latest
Docker标签用于标识Minecraft类型和版本,规则如下:
latest(跟踪最新版本)、1.20.1(特定版本,如1.20.1){游戏版本}-{加载器}_{加载器版本},如1.20.1-fabric_0.14.21(Fabric 0.14.21 + 游戏1.20.1)latest-bedrock(最新基岩版)、1.19.2-bedrock(特定基岩版)注意:Modded版本无
latest标签,因mod更新存在延迟,自动更新可能导致不兼容。
bashdocker run -d --name minecraft \ -p 25565:25565 \ -e EULA=true \ rdall96/minecraft-server:latest
localhost:25565 或 <你的IP地址>:25565端口转发风险提示:开放网络端口可能面临安全风险,需谨慎操作。本项目仅提供服务器运行能力,不对端口转发导致的任何损失负责。
通过卷挂载实现世界数据、配置文件及mods的持久化,避免容器重启或更新导致数据丢失。
bashdocker run -d --name minecraft \ -v ~/minecraft/world:/minecraft/world \ # 挂载世界数据目录 -p 25565:25565 \ -e EULA=true \ rdall96/minecraft-server:latest
bashdocker run -d --name minecraft \ -v ~/minecraft/world:/minecraft/world \ -v ~/minecraft/config:/minecraft/configurations \ # 挂载配置目录(含白名单、op列表等) -v ~/minecraft/mods:/minecraft/mods \ # 挂载mods目录(modded服务器) -p 25565:25565 \ -e EULA=true \ rdall96/minecraft-server:1.20.1-fabric_0.14.21
目录说明:容器内
/minecraft为根目录,包含world(世界数据)、mods(mod文件)、configurations(配置文件,含whitelist.json、ops.json等)。
通过环境变量自定义server.properties文件,支持以下参数(完整列表见表格):
| server.property | 环境变量名 | 允许值 | 默认值 | 描述 |
|---|---|---|---|---|
| allow-flight | ALLOW_FLIGHT | true, false | false | 允许生存模式玩家使用飞行mod |
| allow-nether | ALLOW_NETHER | true, false | true | 允许玩家进入下界 |
| difficulty | DIFFICULTY | peaceful, easy, normal, hard | easy | 服务器难度(影响生物伤害、饥饿机制等) |
| enable-command-block | ENABLE_COMMAND_BLOCK | true, false | false | 启用命令方块 |
| enable-status | ENABLE_STATUS | true, false | true | 服务器在列表中显示为“在线” |
| enable-query | ENABLE_QUERY | true, false | false | 启用GameSpy4协议监听器(用于获取服务器信息) |
| enforce-secure-profile | ENFORCE_SECURE_PROFILE | true, false | true | 启用时,无Mojang签名公钥的玩家无法连接 |
| gamemode | GAMEMODE | survival, creative, adventure, spectator | survival | 游戏模式 |
| generate-structures | GENERATE_STRUCTURES | true, false | true | 允许生成结构(如村庄) |
| hardcore | HARDCORE | true, false | false | 启用时难度强制为困难,玩家死亡后变为旁观者模式 |
| hide-online-players | HIDE_ONLINE_PLAYERS | true, false | false | 启用时不在服务器状态中显示玩家列表 |
| level-seed | LEVEL_SEED | 任意字符串 | 空 | 世界种子,留空则随机 |
| level-type | LEVEL_TYPE | 任意字符串 | minecraft:normal | 世界生成预设 |
| max-players | MAX_PLAYERS | 任意数字 | 20 | 最大在线玩家数(注意:更多玩家会增加资源占用) |
| motd | MOTD | 任意字符串 | 空 | 服务器列表中显示的描述信息 |
| online-mode | ONLINE_MODE | true, false | true | 是否验证玩家Minecraft账号(离线服务器需设为false) |
| op-permission-level | OP_PERMISSION_LEVEL | 0-4(数字) | 4 | OP玩家默认权限等级 |
| player-idle-timeout | PLAYER_IDLE_TIMEOUT | 数字(分钟) | 0(禁用) | 玩家闲置超时后踢出服务器 |
| pvp | PVP | true, false | true | 启用玩家对战(PvP) |
| resource-pack | RESOURCE_PACK | 资源包URI | 空 | 可选资源包链接(玩家可选择是否加载) |
| resource-pack-prompt | RESOURCE_PACK_PROMPT | 任意字符串 | 空 | 资源包提示信息(配合require-resource-pack使用) |
| require-resource-pack | REQUIRE_RESOURCE_PACK | true, false | false | 启用时玩家必须接受资源包,否则断开连接 |
| simulation-distance | SIMULATION_DISTANCE | 3-32(数字) | 10 | 实体加载距离(区块半径) |
| spawn-animals | SPAWN_ANIMALS | true, false | true | 允许动物生成 |
| spawn-monsters | SPAWN_MONSTERS | true, false | true | 允许怪物生成 |
| spawn-npcs | SPAWN_NPCS | true, false | true | 允许村民生成 |
| spawn-protection | SPAWN_PROTECTION | 数字 | 16 | 出生点保护区域大小(2x+1方块边长,0为禁用) |
| view-distance | VIEW_DISTANCE | 数字 | 10 | 客户端视野距离(区块半径) |
| white-list | WHITE_LIST | true, false | false | 启用白名单 |
更多细节参见Minecraft Wiki - 服务器属性
bash# 单环境变量 docker run -d --name minecraft \ -p 25565:25565 \ -e EULA=true \ -e MOTD="Docker搭建的Minecraft服务器" \ -e DIFFICULTY=hard \ -e MAX_PLAYERS=8 \ rdall96/minecraft-server:latest
创建环境变量文件properties.env:
iniEULA=true MOTD=Hello from Docker! DIFFICULTY=hard MAX_PLAYERS=5 WHITE_LIST=true
通过文件加载环境变量:
bashdocker run -d --name minecraft \ -v ~/minecraft/world:/minecraft/world \ -p 25565:25565 \ --env-file properties.env \ rdall96/minecraft-server:latest
通过jvm_args.txt文件自定义JVM运行参数(如内存分配),文件路径为容器内/minecraft/configurations/jvm_args.txt(需挂载配置目录持久化)。
示例(设置最大内存为8GB):
jvm_args.txt:
txt-Xmx8G -XX:+UseG1GC
bashdocker run -d --name minecraft \ -v ~/minecraft/config:/minecraft/configurations \ -p 25565:25565 \ -e EULA=true \ rdall96/minecraft-server:latest
创建docker-compose.yml:
yamlversion: '3' services: minecraft: image: rdall96/minecraft-server:1.20.1 container_name: minecraft restart: unless-stopped ports: - "25565:25565" environment: - EULA=true - MOTD=My Docker Minecraft Server - DIFFICULTY=normal - MAX_PLAYERS=10 volumes: - ./world:/minecraft/world - ./config:/minecraft/configurations - ./mods:/minecraft/mods # 仅modded服务器需要 mem_limit: 8G # 限制容器最大内存(可选)
启动服务:
bashdocker-compose up -d
如遇使用问题或改进建议,请发送邮件至:Minecraft Docker - Support
该镜像可作为自定义Minecraft容器的基础,支持添加mods或修改配置。容器入口脚本位于/minecraft/start_server.sh,世界数据在首次启动后生成。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务