在使用 RockyLinux 运行容器时,如何有效管理容器中的数据是一个关键问题。默认情况下,容器内的文件系统是临时的——一旦容器被删除,所有数据也会随之消失。为了解决这个问题,我们需要使用 Docker 存储卷(Volumes) 或绑定挂载(Bind Mounts)来实现 容器数据持久化。本教程将手把手教你如何在 RockyLinux 上进行容器存储管理,即使是初学者也能轻松上手。
容器本身是无状态的,这意味着每次重启或重建容器,其内部文件系统都会重置。如果你正在运行数据库、Web 应用或任何需要保存用户数据的服务,就必须将数据存储在容器外部。这就是 RockyLinux容器存储管理 的核心目的:确保数据安全、可迁移、可备份。
Docker 提供了三种主要的数据存储方式:
/var/lib/docker/volumes/),推荐用于生产环境。下面我们将通过一个 MySQL 容器示例,演示如何使用 Volume 保存数据库文件。
sudo dnf install -y dockersudo systemctl start dockersudo systemctl enable docker docker volume create mysql_data 该命令会创建一个名为 mysql_data 的 Volume,Docker 会自动将其存放在 /var/lib/docker/volumes/mysql_data/_data 目录下。
docker run -d \ --name my-mysql \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -v mysql_data:/var/lib/mysql \ mysql:8.0 这里我们使用 -v mysql_data:/var/lib/mysql 将 Volume 挂载到容器内的 MySQL 数据目录。即使容器被删除,数据仍保留在 Volume 中。
你可以先在数据库中创建一张表,然后删除容器再重新运行一个新容器挂载同一个 Volume,你会发现数据依然存在。
如果你希望直接使用宿主机上的某个目录(例如 /home/user/myapp/data),可以使用 Bind Mount:
mkdir -p /home/rocky/mysql-datadocker run -d \ --name my-mysql-bind \ -e MYSQL_ROOT_PASSWORD=my-secret-pw \ -v /home/rocky/mysql-data:/var/lib/mysql \ mysql:8.0 这种方式便于直接访问和备份数据,但需注意文件权限问题。
以下是一些常用的存储管理命令:
docker volume lsdocker volume inspect mysql_datadocker volume prunedocker run --rm -v mysql_data:/volume -v $(pwd):/backup alpine \ tar czf /backup/mysql_data.tar.gz -C /volume . 通过本教程,你已经掌握了在 RockyLinux 上进行 容器存储管理 的核心方法。无论是使用 Docker Volume 还是 Bind Mount,都能有效实现 容器数据持久化,保障你的应用数据安全。建议在生产环境中优先使用命名 Volume,开发环境中可灵活使用 Bind Mount。
希望这篇 Rocky Linux容器教程 对你有所帮助!如有疑问,欢迎在评论区交流。
本文由主机测评网于2025-12-15发表在主机测评网_免费VPS_免费云服务器_免费独立服务器,如有疑问,请联系我们。
本文链接:https://vpshk.cn/2025127889.html