专属域名
文档搜索
轩辕助手
Run助手
邀请有礼
返回顶部
快速返回页面顶部
收起
收起工具栏
轩辕镜像 官方专业版
轩辕镜像 官方专业版轩辕镜像 官方专业版官方专业版
首页个人中心搜索镜像

交易
充值流量我的订单
工具
提交工单镜像收录一键安装
Npm 源Pip 源Homebrew 源
帮助
常见问题
其他
关于我们网站地图

官方QQ群: 1072982923

lexfrei/papermc Docker 镜像 - 轩辕镜像

papermc
lexfrei/papermc
lexfrei
优化的PaperMC Minecraft服务器Docker镜像,支持RCON和健康检查,基于Red Hat UBI9 OpenJDK 25运行时,每日自动更新最新Paper构建,采用Aikar优化参数,支持多架构部署。
1 收藏0 次下载
😎 镜像稳了,发布才敢点回车
中文简介版本下载
😎 镜像稳了,发布才敢点回车

PaperMC Docker镜像

![Build Paper Docker Images]([] ![Docker Pulls]([] ![License]([] ![Docker Image Size]([] ![Wiki]([***]

一个轻量级、优化的Docker镜像,用于运行PaperMC Minecraft服务器。

关于PaperMC

重要提示:这是PaperMC的第三方Docker镜像和Helm图表打包。PaperMC本身由PaperMC团队开发和维护,而非本仓库维护者。

  • 上游项目:PaperMC
  • 官方文档:docs.papermc.io
  • 官方***:***.gg/papermc

有关PaperMC服务器本身(游戏玩法、插件、服务器配置等)的问题、故障或支持,请参考上述官方PaperMC资源。

本仓库仅提供:

  • PaperMC的Docker容器化
  • 用于部署的Kubernetes Helm图表
  • 镜像构建的CI/CD自动化

有关Docker镜像或Helm图表(容器构建、部署、图表配置)的问题,请使用本仓库的问题跟踪器。

兼容性

本服务器兼容:

  • 仅Minecraft Java版客户端(不支持基岩版)
  • PaperMC插件和Spigot/Bukkit插件
  • 标准Minecraft协议和工具

特性

  • 基于Red Hat UBI9 OpenJDK 25运行时,带有run-java.sh入口点
  • 每日自动更新最新Paper构建
  • 使用Aikar's flags优化
  • 自动内存管理,带有-XX:MaxRAMPercentage=80%
  • 简单的基于套接字的健康检查
  • 插件安装支持
  • 多架构支持(amd64、arm64)
  • 最小化镜像大小,优化配置
  • 注重安全性:以非root用户(UID 9001)运行

标签

  • latest - 指向最新的Minecraft版本
  • <version> - 特定的Minecraft版本(例如1.21.5),指向与其对应的构建标签相同的镜像
  • <version>-<build> - 带有PaperMC构建号的特定Minecraft版本(例如1.21.5-20)

标签关系示例:

  • latest → <最新版本> → <最新版本>-<构建号>(均指向相同镜像)
  • <旧版本> → <旧版本>-<构建号>(均指向相同镜像)

要查找最新可用标签,请查看Docker Hub。

支持的版本

此镜像每天自动构建当前主要版本内的最新三个次要版本。例如:

  • 最新次要版本(如1.21.5)
  • 第二个最新次要版本(如1.21.4)
  • 第三个最新次要版本(如1.21.3)

仅维护三个最新的次要版本,而非主要版本范围内的所有版本。随着新次要版本的发布,旧版本将从主动维护中移除。

版本更新策略
  • 每日构建:容器每天使用每个支持的次要版本的最新PaperMC构建重新构建
  • 次要版本跟踪:维护当前主要版本内的三个最新次要版本
  • 构建跟踪:对于每个次要版本,跟踪并更新最新的PaperMC构建
  • 标签同步:版本标签(如<version>)始终指向其对应的特定构建标签(如<version>-<build>)

建议:测试时使用latest标签,但生产环境中切换到特定的版本-构建标签(如<version>-<build>)以确保稳定性。

使用方法

Helm图表(Kubernetes)

提供了适用于Kubernetes部署的Helm图表,支持各种插件、入口和高级网络选项的轻松安装和配置。

安装
bash
# 从GitHub Container Registry安装图表
helm install papermc \
  oci://ghcr.io/lexfrei/papermc \
  --version 0.0.1

# 使用自定义值安装
helm install papermc \
  oci://ghcr.io/lexfrei/papermc \
  --version 0.0.1 \
  --values values.yaml
图表特性
  • 灵活的服务配置,支持多个插件端口
  • 可选的Ingress和HTTPRoute(Gateway API)支持
  • 可配置的资源限制和请求
  • 节点亲和性和容忍度
  • 带有可自定义存储类的持久存储
  • 存活和就绪探针

有关详细的图表文档和配置示例,请参见图表文档。

环境变量
变量描述默认值
JAVAFLAGS用于优化性能的JVM标志Aikar's flags
PAPERMC_FLAGS额外的PaperMC服务器标志--nojline
JAVA_MAX_MEM_RATIO容器内存的最大堆百分比80(80%)

注意:内存通过-XX:MaxRAMPercentage自动管理。JVM默认将使用容器内存的80%。使用Docker的--memory标志或Kubernetes资源限制设置容器内存限制。

内存配置

默认情况下,JVM使用容器内存的80%。要自定义:

bash
# 更改内存百分比(使用75%而非80%)
docker run -d \
  -e JAVA_MAX_MEM_RATIO=75 \
  --memory 4G \
  lexfrei/papermc:latest

# 禁用自动内存管理并设置显式堆大小
docker run -d \
  -e JAVA_MAX_MEM_RATIO=0 \
  -e JAVAFLAGS="-Xms2G -Xmx3G" \
  --memory 4G \
  lexfrei/papermc:latest

设置显式内存(-Xmx)时,为JVM元空间、本地内存和操作系统开销留出约1GB空间。

资源使用建议

PaperMC的内存需求因玩家数量、世界大小和已安装插件而异。以下是一些一般建议:

玩家数量推荐内存说明
1-5名玩家2GB适用于小型、类原版服务器
5-15名玩家4GB适合中等插件使用
15-30名玩家6-8GB推荐用于带有多个插件的大型服务器
30名以上玩家10GB+用于有许多插件和大型世界的繁忙服务器

这些值是起点,应根据特定服务器性能进行调整。

Kubernetes用户:考虑使用垂直Pod自动扩缩器根据实际使用模式自动调整资源限制。这对于负载变化的Minecraft服务器特别有帮助。

Docker Run
bash
docker run -d \
  --name minecraft-server \
  -p 25565:25565/tcp \
  -p 25565:25565/udp \
  --memory 4G \
  -v /path/to/data:/data \
  lexfrei/papermc:latest

注意:对于生产环境,测试后将latest替换为特定的版本-构建标签。

Docker Compose
yaml
version: '3'

services:
  papermc:
    image: lexfrei/papermc:latest
    container_name: minecraft-server
    ports:
      - "25565:25565/tcp"
      - "25565:25565/udp"
    volumes:
      - ./data:/data
    deploy:
      resources:
        limits:
          memory: 4G
    restart: unless-stopped

注意:对于生产部署,使用特定的版本-构建标签而非latest。

Kubernetes

有关Kubernetes部署示例,请参见examples/kubernetes目录。

Kubernetes资源管理

在Kubernetes中运行时,考虑使用垂直Pod自动扩缩器(VPA)自动调整CPU和内存请求:

yaml
apiVersion: autoscaling.k8s.io/v1
kind: VerticalPodAutoscaler
metadata:
  name: minecraft-vpa
spec:
  targetRef:
    apiVersion: "apps/v1"
    kind: Deployment
    name: minecraft-server
  updatePolicy:
    updateMode: "Auto"
  resourcePolicy:
    containerPolicies:
      - containerName: "*"
        minAllowed:
          memory: "1Gi"
          cpu: "500m"
        maxAllowed:
          memory: "8Gi"
          cpu: "2"

VPA将随时间分析资源使用情况并自动调整资源请求,有助于优化资源分配,同时防止高峰期的OOM终止。

多服务器设置

使用此容器在同一主机上运行多个Minecraft服务器非常简单。每个容器需要自己的端口和数据卷:

yaml
version: '3'

services:
  survival:
    image: lexfrei/papermc:latest
    container_name: mc-survival
    ports:
      - "25565:25565/tcp"
      - "25565:25565/udp"
    volumes:
      - ./survival-data:/data
    deploy:
      resources:
        limits:
          memory: 4G
    restart: unless-stopped
    
  creative:
    image: lexfrei/papermc:latest
    container_name: mc-creative
    ports:
      - "25566:25565/tcp"  # 注意不同的主机端口
      - "25566:25565/udp"
    volumes:
      - ./creative-data:/data
    deploy:
      resources:
        limits:
          memory: 4G
    restart: unless-stopped

此示例在默认端口25565上运行生存服务器,在端口25566上运行创造服务器。

安装插件

要安装插件,只需将JAR文件放在/data/plugins目录中。PaperMC将自动从该目录加载插件。

为了更好地组织,还可以使用/data/plugins/update作为目录来存储PaperMC将自动更新的插件。

重要:容器以非root用户(UID 9001)运行。挂载卷时,确保/data目录具有适当的权限。

bash
docker run -d \
  --name minecraft-server \
  -p 25565:25565/tcp \
  -p 25565:25565/udp \
  --memory 4G \
  -v /path/to/data:/data \
  lexfrei/papermc:latest

通过此设置,可以通过将插件放在/path/to/data/plugins中来添加插件。

推荐插件

以下插件已知与此容器兼容良好:

  • EssentialsX - 核心服务器命令和功能
  • LuckPerms - 权限管理
  • CoreProtect - 方块日志和回滚
  • Dynmap - 实时基于Web的地图(默认暴露8123端口)
  • WorldEdit - 游戏内世界编辑
  • WorldGuard - 区域保护

这些仅是建议 - 所有标准Paper插件都应与此容器兼容。

服务器配置

server.properties

在数据目录中创建server.properties文件来自定义服务器设置。如果不存在该文件,首次运行时将创建默认文件。

示例配置:

properties
server-port=25565
motd=My PaperMC Server
max-players=20
view-distance=10
spawn-protection=0
使用RCON(可选)

如果需要使用RCON进行服务器管理,有两个选项:

  1. 使用外部RCON客户端或边车容器
  2. 使用您选择的RCON客户端连接到服务器

要启用RCON,将以下设置添加到server.properties:

properties
enable-rcon=true
rcon.password=your_secure_password
rcon.port=25575

运行容器时暴露RCON端口:

bash
docker run -d \
  --name minecraft-server \
  -p 25565:25565/tcp \
  -p 25565:25565/udp \
  -p 25575:25575/tcp \  # 暴露RCON端口
  --memory 4G \
  -v /path/to/data:/data \
  lexfrei/papermc:latest
日志配置

PaperMC服务器日志存储在/data/logs目录中,可以通过挂载此卷访问。您可以使用以下命令查看:

bash
# 查看容器日志
docker logs minecraft-server

# 从挂载的卷访问详细日志
cat /path/to/data/logs/latest.log

要自定义日志行为,可以在首次服务器运行后修改/data/log4j2.xml。例如,更改保留策略或日志级别。

DynMap配置

如果使用DynMap,请确保暴露8123端口:

bash
docker run -d \
  --name minecraft-server \
  -p 25565:25565/tcp \
  -p 25565:25565/udp \
  -p 8123:8123/tcp \  # 暴露DynMap Web界面
  --memory 4G \
  -v /path/to/data:/data \
  lexfrei/papermc:latest

容器生命周期

正确的关闭过程

Minecraft服务器需要正确的关闭过程来保存所有世界数据并防止损坏。此容器配置为正确处理Docker停止信号。

停止容器时:

bash
# 允许30秒进行干净关闭
docker stop --time=30 minecraft-server

这使服务器有时间在终止前正确保存所有区块和玩家数据。

启动时间

容器在其健康检查中包含合理的启动周期,以适应PaperMC初始化所需的时间。更大的世界和更多的插件将增加启动时间。

备份

建议定期备份服务器数据。最简单的方法是停止容器并复制数据目录:

bash
docker stop minecraft-server
cp -r /path/to/data /path/to/backup
docker start minecraft-server

对于自动备份,考虑使用专用备份解决方案,如Duplicati或Restic。

卷和持久性

此容器使用位于/data的单个卷,其中包含所有持久数据。以下是此卷中存储的内容:

路径描述
/data/world/主世界数据
/data/world_nether/下界维度
/data/world_the_end/末地维度
/data/plugins/所有已安装插件
/data/config/配置文件
/data/logs/服务器日志
/data/server.properties主服务器配置
/data/banned-ips.jsonIP封禁列表
/data/banned-players.json玩家封禁列表
/data/ops.json服务器操作员列表
/data/whitelist.json白名单玩家列表

挂载卷时,始终确保保留整个/data目录以维护所有服务器状态。

常见问题与故障排除

权限被拒绝错误

如果容器尝试访问挂载的卷时出现权限错误,可能是因为容器

查看更多 papermc 相关镜像 →
phyremaster/papermc logo
phyremaster/papermc
This is a Linux Docker image for the PaperMC Minecraft server.
31500K+ pulls
上次更新:未知
magnia/papermc logo
magnia/papermc
此Docker镜像运行PaperMC,一个Minecraft服务器软件的分支。
100K+ pulls
上次更新:未知
parzivalspace/papermc logo
parzivalspace/papermc
PaperMC Minecraft服务器的自动化Docker镜像,每日构建最新版本,支持插件(Bukkit、Spigot、Sponge等),简化部署流程,避免手动管理Java环境,适用于快速搭建和整合到Minecraft相关项目。
150K+ pulls
上次更新:未知
daweedpanic/papermc logo
daweedpanic/papermc
PaperMC非官方Docker镜像,通过自动化任务构建,确保在官方发布新版本后10分钟内完成镜像更新。
710K+ pulls
上次更新:未知
thibauddemay/papermc logo
thibauddemay/papermc
非官方PaperMC Minecraft服务器Docker镜像,基于Amazon Corretto构建,支持latest标签及多级语义化版本,便于快速部署和管理Minecraft服务器,支持数据持久化和配置自定义。
10K+ pulls
上次更新:未知
cmunroe/papermc logo
cmunroe/papermc
基于Alpine的Bukkit、Spigot和PaperMC Minecraft服务器Docker镜像,支持多版本标签,提供数据持久化存储和环境变量配置,方便快速部署和管理Minecraft服务器。
510K+ pulls
上次更新:未知

轩辕镜像配置手册

探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式

登录仓库拉取

通过 Docker 登录认证访问私有仓库

Linux

在 Linux 系统配置镜像服务

Windows/Mac

在 Docker Desktop 配置镜像

Docker Compose

Docker Compose 项目配置

K8s Containerd

Kubernetes 集群配置 Containerd

K3s

K3s 轻量级 Kubernetes 镜像加速

Dev Containers

VS Code Dev Containers 配置

MacOS OrbStack

MacOS OrbStack 容器配置

宝塔面板

在宝塔面板一键配置镜像

群晖

Synology 群晖 NAS 配置

飞牛

飞牛 fnOS 系统配置镜像

极空间

极空间 NAS 系统配置服务

爱快路由

爱快 iKuai 路由系统配置

绿联

绿联 NAS 系统配置镜像

威联通

QNAP 威联通 NAS 配置

Podman

Podman 容器引擎配置

Singularity/Apptainer

HPC 科学计算容器配置

其他仓库配置

ghcr、Quay、nvcr 等镜像仓库

专属域名拉取

无需登录使用专属域名

需要其他帮助?请查看我们的 常见问题Docker 镜像访问常见问题解答 或 提交工单

镜像拉取常见问题

轩辕镜像免费版与专业版有什么区别?

免费版仅支持 Docker Hub 访问,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。

轩辕镜像支持哪些镜像仓库?

专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等;免费版仅支持 docker.io。

流量耗尽错误提示

当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。

410 错误问题

通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。

manifest unknown 错误

先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。

镜像拉取成功后,如何去掉轩辕镜像域名前缀?

使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。

查看全部问题→

用户好评

来自真实用户的反馈,见证轩辕镜像的优质服务

用户头像

oldzhang

运维工程师

Linux服务器

5

"Docker访问体验非常流畅,大镜像也能快速完成下载。"

轩辕镜像
镜像详情
...
lexfrei/papermc
官方博客Docker 镜像使用技巧与技术博客
热门镜像查看热门 Docker 镜像推荐
一键安装一键安装 Docker 并配置镜像源
咨询镜像拉取问题请 提交工单,官方技术交流群:1072982923
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
咨询镜像拉取问题请提交工单,官方技术交流群:
轩辕镜像面向开发者与科研用户,提供开源镜像的搜索和访问支持。所有镜像均来源于原始仓库,本站不存储、不修改、不传播任何镜像内容。
官方邮箱:点击复制邮箱
©2024-2026 源码跳动
官方邮箱:点击复制邮箱Copyright © 2024-2026 杭州源码跳动科技有限公司. All rights reserved.