Update nexus: fix conflicts and sync local changes
This commit is contained in:
@@ -1,75 +1,75 @@
|
||||
---
|
||||
title: "Docker卷"
|
||||
tags: [docker, storage, container]
|
||||
date: 2026-04-26
|
||||
---
|
||||
|
||||
# Docker卷 (Docker Volume)
|
||||
|
||||
## Definition
|
||||
Docker 卷是 Docker 容器用于持久化数据的首选机制。与容器层不同,卷存储在宿主机文件系统上,由 Docker 管理,独立于容器的生命周期。
|
||||
|
||||
## Key Properties
|
||||
- **持久性**: 数据在容器删除后依然保留
|
||||
- **独立性**: 卷与容器文件系统隔离
|
||||
- **共享性**: 多个容器可挂载同一卷
|
||||
- **Host 管理**: Docker CLI 可直接管理卷
|
||||
|
||||
## Default Location
|
||||
Linux 系统中,Docker 卷默认存储在:
|
||||
```
|
||||
/var/lib/docker/volumes/
|
||||
```
|
||||
|
||||
## Docker卷备份策略
|
||||
|
||||
### Method 1: rsync 直接同步 (不推荐数据库)
|
||||
```bash
|
||||
rsync -azR --delete \
|
||||
/var/lib/docker/volumes/ \
|
||||
/mnt/nas_backup/docker_backups/
|
||||
```
|
||||
**⚠️ 警告**: 直接同步二进制数据库文件可能导致恢复后无法启动。
|
||||
|
||||
### Method 2: mysqldump + rsync (推荐用于数据库)
|
||||
```bash
|
||||
# 在容器中执行 mysqldump
|
||||
docker exec <mysql_container> mysqldump -u root -p --all-databases > dump.sql
|
||||
|
||||
# rsync 同步导出文件
|
||||
rsync -az /path/to/dump.sql /mnt/nas_backup/docker_backups/
|
||||
```
|
||||
|
||||
### Method 3: docker save / docker load
|
||||
```bash
|
||||
# 导出镜像
|
||||
docker save -o images.tar image_name:tag
|
||||
|
||||
# rsync 传输
|
||||
rsync -az images.tar user@nas:/backup/
|
||||
|
||||
# 导入镜像
|
||||
docker load < images.tar
|
||||
```
|
||||
|
||||
## Related Concepts
|
||||
- [[增量备份]] — Docker 卷备份是增量备份策略的重要组成部分
|
||||
- [[Docker-Image]] — 镜像备份使用 docker save/load
|
||||
- [[Docker-Save]] — 镜像导出命令
|
||||
- [[Docker-Load]] — 镜像导入命令
|
||||
|
||||
## Related Entities
|
||||
- [[Navidrome]] — 音乐流媒体服务使用 Docker 卷存储音乐文件和数据库
|
||||
- [[群晖 NAS]] — 网络存储作为 Docker 卷备份的目标位置
|
||||
- [[Portainer]] — Docker 可视化管理工具,通过 Web UI 查看/管理卷;Portainer 重装前可通过 `docker volume ls | grep portainer` 查找 `portainer_data` 卷,删除前需确认是否需要保留数据
|
||||
|
||||
## Best Practices
|
||||
1. **数据库一致性**: 使用 mysqldump 而非直接复制
|
||||
2. **定期快照**: 结合 LVM/ZFS 快照实现应用一致性
|
||||
3. **增量同步**: rsync 仅传输变更的卷数据
|
||||
4. **备份验证**: 定期测试从备份恢复的可行性
|
||||
|
||||
## See Also
|
||||
- [[Disaster-Recovery]] — Docker 卷备份是灾备策略的核心
|
||||
- [[RTO]] — 恢复时间目标受备份策略影响
|
||||
- [[RPO]] — 恢复点目标由备份频率决定
|
||||
---
|
||||
title: "Docker卷"
|
||||
tags: [docker, storage, container]
|
||||
date: 2026-04-26
|
||||
---
|
||||
|
||||
# Docker卷 (Docker Volume)
|
||||
|
||||
## Definition
|
||||
Docker 卷是 Docker 容器用于持久化数据的首选机制。与容器层不同,卷存储在宿主机文件系统上,由 Docker 管理,独立于容器的生命周期。
|
||||
|
||||
## Key Properties
|
||||
- **持久性**: 数据在容器删除后依然保留
|
||||
- **独立性**: 卷与容器文件系统隔离
|
||||
- **共享性**: 多个容器可挂载同一卷
|
||||
- **Host 管理**: Docker CLI 可直接管理卷
|
||||
|
||||
## Default Location
|
||||
Linux 系统中,Docker 卷默认存储在:
|
||||
```
|
||||
/var/lib/docker/volumes/
|
||||
```
|
||||
|
||||
## Docker卷备份策略
|
||||
|
||||
### Method 1: rsync 直接同步 (不推荐数据库)
|
||||
```bash
|
||||
rsync -azR --delete \
|
||||
/var/lib/docker/volumes/ \
|
||||
/mnt/nas_backup/docker_backups/
|
||||
```
|
||||
**⚠️ 警告**: 直接同步二进制数据库文件可能导致恢复后无法启动。
|
||||
|
||||
### Method 2: mysqldump + rsync (推荐用于数据库)
|
||||
```bash
|
||||
# 在容器中执行 mysqldump
|
||||
docker exec <mysql_container> mysqldump -u root -p --all-databases > dump.sql
|
||||
|
||||
# rsync 同步导出文件
|
||||
rsync -az /path/to/dump.sql /mnt/nas_backup/docker_backups/
|
||||
```
|
||||
|
||||
### Method 3: docker save / docker load
|
||||
```bash
|
||||
# 导出镜像
|
||||
docker save -o images.tar image_name:tag
|
||||
|
||||
# rsync 传输
|
||||
rsync -az images.tar user@nas:/backup/
|
||||
|
||||
# 导入镜像
|
||||
docker load < images.tar
|
||||
```
|
||||
|
||||
## Related Concepts
|
||||
- [[增量备份]] — Docker 卷备份是增量备份策略的重要组成部分
|
||||
- [[Docker-Image]] — 镜像备份使用 docker save/load
|
||||
- [[Docker-Save]] — 镜像导出命令
|
||||
- [[Docker-Load]] — 镜像导入命令
|
||||
|
||||
## Related Entities
|
||||
- [[Navidrome]] — 音乐流媒体服务使用 Docker 卷存储音乐文件和数据库
|
||||
- [[群晖 NAS]] — 网络存储作为 Docker 卷备份的目标位置
|
||||
- [[Portainer]] — Docker 可视化管理工具,通过 Web UI 查看/管理卷;Portainer 重装前可通过 `docker volume ls | grep portainer` 查找 `portainer_data` 卷,删除前需确认是否需要保留数据
|
||||
|
||||
## Best Practices
|
||||
1. **数据库一致性**: 使用 mysqldump 而非直接复制
|
||||
2. **定期快照**: 结合 LVM/ZFS 快照实现应用一致性
|
||||
3. **增量同步**: rsync 仅传输变更的卷数据
|
||||
4. **备份验证**: 定期测试从备份恢复的可行性
|
||||
|
||||
## See Also
|
||||
- [[Disaster-Recovery]] — Docker 卷备份是灾备策略的核心
|
||||
- [[RTO]] — 恢复时间目标受备份策略影响
|
||||
- [[RPO]] — 恢复点目标由备份频率决定
|
||||
|
||||
Reference in New Issue
Block a user