itzg/docker-minecraft-server 数据目录管理完全指南

itzg/docker-minecraft-server 数据目录管理完全指南

docker-minecraft-server Docker image that provides a Minecraft Server that will automatically download selected version at startup docker-minecraft-server 项目地址: https://gitcode.com/gh_mirrors/do/docker-minecraft-server

容器数据目录概述

itzg/docker-minecraft-server 容器将所有管理的数据存储在容器的 /data 路径下。这个目录包含了Minecraft服务器的所有关键数据,包括世界存档、配置文件、插件/模组等。

Minecraft数据目录结构示意图

重要说明:容器中的 /data 路径默认被声明为卷(volume),如果不进行任何配置,Docker会将其分配为匿名卷。这意味着当容器被删除时,这些数据也会随之丢失。

数据持久化方案

方案一:绑定挂载主机目录(推荐)

最常用的数据持久化方法是通过绑定挂载(bind mount)将主机目录映射到容器的 /data 目录。使用 -v 参数可以实现这一功能:

-v /主机/目录/路径:/data

参数说明

  • /主机/目录/路径:必须替换为主机上的实际目录路径
  • /data:必须保持为 /data,这是容器内部的固定路径

优势

  • 可以直接在主机上访问和修改配置文件
  • 服务器停止后仍能保留所有数据
  • 便于备份和管理

使用示例

docker run -d -v /home/user/minecraft-data:/data -p 25565:25565 -e EULA=TRUE itzg/minecraft-server
特殊环境注意事项

在以下环境中运行时,需要在卷映射后添加 :Z 标志:

  • 使用Podman运行无根(rootless)容器
  • 系统启用了SELinux或AppArmor

示例:

-v /home/user/minecraft-data:/data:Z

方案二:使用Docker Compose

使用Docker Compose可以更简单地配置数据目录,支持相对路径:

services:
  mc:
    image: itzg/minecraft-server
    ports:
      - 25565:25565
    environment:
      EULA: "TRUE"
    volumes:
      - ./minecraft-data:/data

特点

  • ./minecraft-data 是相对于docker-compose.yml文件的目录
  • Docker会自动创建该目录(如果不存在)
  • 配置更简洁,易于管理

数据迁移方案

从匿名卷迁移到命名卷

如果已经使用了匿名卷,可以按照以下步骤迁移到命名卷:

  1. 停止原容器:
docker stop mc
  1. 使用临时容器复制数据:
docker run --rm --volumes-from mc -v mc:/new alpine cp -avT /data /new
  1. 创建新容器使用命名卷:
docker run -d -it --name mc-new -v mc:/data -p 25565:25565 -e EULA=TRUE itzg/minecraft-server

查找匿名卷的实际路径

如果需要直接访问匿名卷的数据,可以通过以下命令查找其实际路径:

docker inspect -f "{{json .Mounts}}" 容器名称或ID

Windows WSL用户注意: 在Windows系统使用WSL时,卷的路径通常为:

\\wsl$\docker-desktop-data\data\docker\volumes

最佳实践建议

  1. 定期备份:即使使用持久化存储,也应定期备份重要数据
  2. 权限管理:确保主机目录有正确的读写权限
  3. 版本控制:对重要的配置文件使用版本控制系统管理
  4. 资源隔离:为每个Minecraft服务器实例使用独立的数据目录

通过合理配置数据目录,可以确保Minecraft服务器的数据安全性和可维护性,避免意外数据丢失的风险。

docker-minecraft-server Docker image that provides a Minecraft Server that will automatically download selected version at startup docker-minecraft-server 项目地址: https://gitcode.com/gh_mirrors/do/docker-minecraft-server

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

裘晴惠Vivianne

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值