Ubuntu容器存储卷管理(Docker数据卷与持久化存储完全指南)

来源:这里教程网 时间:2026-03-28 20:15:58 作者:

在使用 Docker 运行 Ubuntu 容器时,我们经常会遇到一个问题:容器一旦被删除,其中的数据也会随之消失。为了解决这个问题,Docker 提供了“存储卷”(Volume)机制,实现容器持久化存储。本教程将手把手教你如何在 Ubuntu 系统中管理 Docker 容器的存储卷,即使是零基础的小白也能轻松上手。

什么是 Docker 存储卷?

Docker 存储卷是 Docker 用来持久化数据的一种方式。它独立于容器生命周期存在,即使容器被删除,卷中的数据依然保留。这对于数据库、配置文件、日志等需要长期保存的数据非常关键。

准备工作:安装 Docker

首先,确保你的 Ubuntu 系统已安装 Docker。如果尚未安装,请运行以下命令:

sudo apt updatesudo apt install -y docker.iosudo systemctl start dockersudo systemctl enable docker

安装完成后,可通过 docker --version 验证是否成功。

方法一:使用命名卷(Named Volume)

这是最推荐的方式,由 Docker 自动管理存储位置。

1. 创建一个名为

mydata
的卷:

docker volume create mydata

2. 启动 Ubuntu 容器并挂载该卷到

/data
目录:

docker run -it --name ubuntu-container \ -v mydata:/data \ ubuntu:latest /bin/bash

现在,你在容器内的

/data
目录下创建的任何文件都会被持久化保存在
mydata
卷中。

方法二:绑定挂载(Bind Mount)

这种方式直接将宿主机的某个目录挂载到容器中,适合开发调试。

mkdir -p ~/myappdocker run -it --name ubuntu-bind \ -v ~/myapp:/app \ ubuntu:latest /bin/bash

此时,宿主机的

~/myapp
目录与容器内的
/app
目录完全同步。

查看和管理存储卷

你可以使用以下命令来管理 Docker 卷:

docker volume ls —— 列出所有卷 docker volume inspect mydata —— 查看卷详细信息 docker volume rm mydata —— 删除指定卷(需先停止使用该卷的容器)

实战示例:持久化 MySQL 数据

假设你想运行一个 MySQL 容器,并确保数据库数据不会因容器重启而丢失:

docker volume create mysql-datadocker run -d --name mysql-db \ -e MYSQL_ROOT_PASSWORD=123456 \ -v mysql-data:/var/lib/mysql \ mysql:8.0

这样,即使你删除并重新创建 MySQL 容器,只要挂载同一个

mysql-data
卷,数据就会完整保留。

总结

通过本教程,你已经掌握了在 Ubuntu 系统中使用 Docker 存储卷进行Ubuntu容器存储卷管理的核心技能。无论是使用命名卷还是绑定挂载,都能有效实现Docker数据卷管理容器持久化存储。希望这篇Ubuntu Docker教程能帮助你构建更稳定、可靠的应用环境!

提示:生产环境中建议优先使用命名卷,因其由 Docker 统一管理,路径更安全且便于迁移。

相关推荐

热文推荐