mirror of
https://github.com/yeasy/docker_practice.git
synced 2026-03-11 20:31:18 +00:00
style: apply global formatting fixes (struct, spacing, zhlint)
This commit is contained in:
@@ -1,5 +1,7 @@
|
||||
## 数据卷
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
### 为什么需要数据卷
|
||||
|
||||
容器的存储层有一个关键问题:**容器删除后,数据就没了**。
|
||||
@@ -11,7 +13,7 @@ flowchart LR
|
||||
Delete -->|数据都在容器 writable 层| Lost[DATA LOST! ❌]
|
||||
```
|
||||
|
||||
数据卷(Volume)解决了这个问题,它的生命周期独立于容器。
|
||||
数据卷 (Volume) 解决了这个问题,它的生命周期独立于容器。
|
||||
|
||||
---
|
||||
|
||||
@@ -29,7 +31,11 @@ flowchart LR
|
||||
|
||||
### 数据卷 vs 容器存储层
|
||||
|
||||
#### 容器存储层(不推荐存储重要数据)
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 容器存储层 (不推荐存储重要数据)
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
@@ -43,7 +49,9 @@ graph TD
|
||||
Delete[容器删除] -->|导致| DataLost[数据丢失 ❌]
|
||||
```
|
||||
|
||||
#### 数据卷(推荐)
|
||||
#### 数据卷 (推荐)
|
||||
|
||||
如下代码块所示,展示了相关示例:
|
||||
|
||||
```mermaid
|
||||
graph TD
|
||||
@@ -63,6 +71,8 @@ graph TD
|
||||
|
||||
### 数据卷基本操作
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 创建数据卷
|
||||
|
||||
运行以下命令:
|
||||
@@ -104,13 +114,15 @@ $ docker volume inspect my-vol
|
||||
|
||||
**关键字段**:
|
||||
- `Mountpoint`:数据卷在宿主机上的实际存储位置
|
||||
- `Driver`:存储驱动(默认 local,也可以用第三方驱动)
|
||||
- `Driver`:存储驱动 (默认 local,也可以用第三方驱动)
|
||||
|
||||
---
|
||||
|
||||
### 挂载数据卷
|
||||
|
||||
#### 方式一:--mount(推荐)
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 方式一:--mount (推荐)
|
||||
|
||||
运行以下命令:
|
||||
|
||||
@@ -129,7 +141,7 @@ $ docker run -d \
|
||||
| `target` | 容器内挂载路径 |
|
||||
| `readonly` | 可选,只读挂载 |
|
||||
|
||||
#### 方式二:-v(简写)
|
||||
#### 方式二:-v (简写)
|
||||
|
||||
运行以下命令:
|
||||
|
||||
@@ -172,6 +184,8 @@ $ docker run -d \
|
||||
|
||||
### 使用场景示例
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 场景一:数据库持久化
|
||||
|
||||
运行以下命令:
|
||||
@@ -242,6 +256,8 @@ $ docker run -d \
|
||||
|
||||
### 数据卷管理
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 删除数据卷
|
||||
|
||||
运行以下命令:
|
||||
@@ -280,6 +296,8 @@ $ docker volume prune -f
|
||||
|
||||
### 数据卷备份与恢复
|
||||
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### 备份数据卷
|
||||
|
||||
运行以下命令:
|
||||
@@ -360,13 +378,15 @@ $ docker run -v mydata:/app/data nginx
|
||||
$ docker run -v /host/path:/app/data nginx
|
||||
```
|
||||
|
||||
详见 [绑定挂载](bind-mounts.md) 章节。
|
||||
详见[绑定挂载](bind-mounts.md)章节。
|
||||
|
||||
---
|
||||
|
||||
### 常见问题
|
||||
|
||||
#### Q: 如何知道容器使用了哪些数据卷?
|
||||
本节涵盖了相关内容与详细描述,主要探讨以下几个方面:
|
||||
|
||||
#### Q:如何知道容器使用了哪些数据卷?
|
||||
|
||||
运行以下命令:
|
||||
|
||||
@@ -374,7 +394,7 @@ $ docker run -v /host/path:/app/data nginx
|
||||
$ docker inspect container_name --format '{{json .Mounts}}' | jq
|
||||
```
|
||||
|
||||
#### Q: 数据卷的数据在哪里?
|
||||
#### Q:数据卷的数据在哪里?
|
||||
|
||||
运行以下命令:
|
||||
|
||||
@@ -390,7 +410,7 @@ $ docker volume inspect my-vol
|
||||
|
||||
> ⚠️ **注意**:不建议直接修改 Mountpoint 中的文件,应通过容器操作。
|
||||
|
||||
#### Q: 如何在不同机器间迁移数据卷?
|
||||
#### Q:如何在不同机器间迁移数据卷?
|
||||
|
||||
1. 在源机器备份:`docker run --rm -v mydata:/data -v $(pwd):/backup alpine tar czf /backup/data.tar.gz -C /data .`
|
||||
2. 传输 tar.gz 文件
|
||||
|
||||
Reference in New Issue
Block a user