本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

 |
--mapping | 无 | 路由映射规则,格式为 externalHostname=host:port,支持多次指定 |
--in-kube-cluster | 无(需显式指定) | 启用 Kubernetes 集群内服务自动发现(仅在 K8s 环境中使用) |
docker run -d \ --name mc-router \ -p 25565:25565 \ itzg/mc-router \ --mapping=vanilla.example.com=vanilla-server:25565 \ --mapping=forge.example.com=forge-server:25565 \ --api-binding=0.0.0.0:8080
-p 25565:25565:映射容器内监听端口至主机,接收客户端连接--mapping:配置静态路由规则,将客户端请求的 vanilla.example.com 转发至后端 vanilla-server:25565--api-binding:开放 API 接口,用于动态管理路由以下示例通过 Docker Compose 配置两个 Minecraft 后端服务(vanilla 和 forge)及路由服务(router)。后端服务通过内部网络通信,无需暴露外部端口;路由服务作为唯一入口,通过 --mapping 映射客户端请求的主机名至内部服务。
!Docker Compose 架构图
version: '3.8' services: router: image: itzg/mc-router ports: - "25565:25565" command: --mapping=vanilla.example.com=vanilla:25565 --mapping=forge.example.com=forge:25565 depends_on: - vanilla - forge vanilla: image: itzg/minecraft-server environment: - EULA=TRUE - VERSION=1.20.1 volumes: - vanilla-data:/data forge: image: itzg/minecraft-server environment: - EULA=TRUE - TYPE=FORGE - VERSION=1.20.1 volumes: - forge-data:/data volumes: vanilla-data: forge-data:
hosts 文件中添加解析:
127.0.0.1 vanilla.example.com 127.0.0.1 forge.example.com
docker-compose up -dvanilla.example.com 和 forge.example.com 连接不同后端服务器在 Kubernetes 集群中部署时,通过 --in-kube-cluster 参数启用服务自动发现,mc-router 会监听带有以下注解的服务:
mc-router.itzg.me/externalServerName: 客户端用于连接的外部主机名,服务的 ClusterIP 和目标端口将自动注册为路由后端mc-router.itzg.me/defaultServer: 配置默认路由,当无匹配路由时转发至该服务示例服务注解配置:
apiVersion: v1 kind: Service metadata: name: mc-forge annotations: "mc-router.itzg.me/externalServerName": "forge.example.com" spec: selector: app: mc-forge ports: - port: 25565 targetPort: 25565
通过以下命令部署包含自动发现功能的 mc-router 及示例后端服务:
kubectl apply -f [***]
部署架构: !Kubernetes 部署架构图
注意事项:
mc-stable 和 mc-snapshot 两个持久卷声明(PVC)--service-node-port-range=25000-32767 实现)GET /routes[ {"serverAddress": "vanilla.example.com", "backend": "vanilla:25565"}, {"serverAddress": "forge.example.com", "backend": "forge:25565"} ]
POST /routes{ "serverAddress": "CLIENT REQUESTED SERVER ADDRESS", // 客户端请求的服务器地址(如 "test.example.com") "backend": "HOST:PORT" // 后端服务地址(如 "test-server:25565") }
POST /defaultRoute{ "backend": "HOST:PORT" // 默认后端服务地址(如 "fallback-server:25565") }
DELETE /routes/{serverAddress}serverAddress - 需删除的客户端请求地址(如 "test.example.com")免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429