Minetest 是一款开源的沙盒游戏,它允许玩家在一个由区块组成的3D世界中探索、建造和进行冒险。Minetest Docker 镜像是将 Minetest 游戏服务器封装在 Docker 容器中的版本,使得部署和管理 Minetest 服务器变得更加简便和灵活。
使用 Docker CLI 搭建 Minetest 服务器
拉取镜像
docker pull ghcr.io/linuxserver/minetest
运行容器
docker run -d \
--name=minetest \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Europe/London \
-e CLI_ARGS="--gameid minetest" \
-p 30000:30000/udp \
-v <path to data>:/config/.minetest \
--restart unless-stopped \
ghcr.io/linuxserver/minetest
参数解释:
-d
: 后台运行容器。--name=minetest
: 为容器指定一个名称。-e PUID=1000
: 设置容器内运行的用户 ID。-e PGID=1000
: 设置容器内运行的组 ID。-e TZ=Europe/London
: 设置容器的时区。-e CLI_ARGS="--gameid minetest"
: 传递给 Minetest 服务器的命令行参数。-p 30000:30000/udp
: 将容器的 30000 端口映射到宿主机的 30000 端口。-v <path to data>:/config/.minetest
: 将宿主机的目录挂载到容器的目录,用于存储数据。--restart unless-stopped
: 容器退出时除非是用户手动停止,否则总是重启容器。ghcr.io/linuxserver/minetest
: 要拉取的 Docker 镜像地址。
使用 Docker Compose 搭建 Minetest 服务器
创建 docker-compose.yml
文件
version: "2.1"
services:
minetest:
image: ghcr.io/linuxserver/minetest
container_name: minetest
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/London
- CLI_ARGS="--gameid minetest"
volumes:
- <path to data>:/config/.minetest
ports:
- "30000:30000/udp"
restart: unless-stopped
参数解释:
version: "2.1"
: Docker Compose 文件的版本。services
: 定义服务的列表。image
: 指定使用的 Docker 镜像。container_name
: 为容器指定一个名称。environment
: 设置环境变量。volumes
: 定义卷映射,将宿主机的目录挂载到容器内。ports
: 映射容器端口到宿主机。restart
: 容器重启策略。
启动服务
运行以下命令启动 Minetest 服务:
docker-compose up -d