专门给 Ubuntu 虚拟机 用,安全、不丢数据、不用懂复杂原理,照着复制命令就行。
清理 Docker 无用网络 超简单教程(Ubuntu 虚拟机专用)
如何清理Docker卷?清理 Docker 卷(Volume)
一、核心原理(一句话)
Docker 卷 = 容器里的数据文件夹
备份 = 把卷打包成 .tar 压缩包
恢复 = 把压缩包解压回 Docker 卷
全程只需要 2 条命令。
二、先查看你有哪些卷
docker volume ls
记住你要备份的卷名,例如:
my_data
mysql_data
portainer_data
三、备份 Docker 卷(导出为压缩包)
通用命令(直接用)
docker run --rm -v 卷名:/source -v $(pwd):/backup ubuntu tar cvf /backup/备份名.tar -C /source .
示例(把 my_data 卷备份到当前目录)
docker run --rm -v my_data:/source -v $(pwd):/backup ubuntu tar cvf /backup/my_data_backup.tar -C /source .
执行完,你当前文件夹会出现:
my_data_backup.tar
这就是完整备份文件。
四、恢复 Docker 卷(从压缩包恢复)
第一步:创建一个空卷(必须)
docker volume create 新卷名
示例:
docker volume create my_data_new
第二步:恢复数据(通用命令)
docker run --rm -v 新卷名:/target -v $(pwd):/backup ubuntu tar xvf /backup/备份名.tar -C /target
示例(恢复刚才的备份)
docker run --rm -v my_data_new:/target -v $(pwd):/backup ubuntu tar xvf /backup/my_data_backup.tar -C /target
✅ 恢复完成!
五、用恢复后的卷启动容器
docker run -d -p 8080:80 -v 新卷名:/容器内路径 镜像名
示例(MySQL):
docker run -d -p 3306:3306 -v my_data_new:/var/lib/mysql mysql
六、最常用场景:MySQL 卷备份(直接复制)
备份
docker run --rm -v mysql_data:/source -v $(pwd):/backup ubuntu tar cvf /backup/mysql_backup.tar -C /source .
恢复
docker volume create mysql_data_new
docker run --rm -v mysql_data_new:/target -v $(pwd):/backup ubuntu tar xvf /backup/mysql_backup.tar -C /target
七、超简单总结(背这 4 条就够)
- 看卷:
docker volume ls - 备份:
docker run --rm -v 卷名:/source -v $(pwd):/backup ubuntu tar cvf /backup/备份.tar -C /source . - 新建空卷:
docker volume create 新卷名 - 恢复:
docker run --rm -v 新卷名:/target -v $(pwd):/backup ubuntu tar xvf /backup/备份.tar -C /target
如果你愿意,我可以直接帮你生成你当前所有 Docker 卷的备份命令,你只要复制粘贴就能一键备份全部数据!# Docker 卷 备份 + 恢复 完整教程(超简单、一步到位) 专门给 Ubuntu 虚拟机 用,安全、不丢数据、不用懂复杂原理,照着复制命令就行。
一、核心原理(一句话)
Docker 卷 = 容器里的数据文件夹
备份 = 把卷打包成 .tar 压缩包
恢复 = 把压缩包解压回 Docker 卷
全程只需要 2 条命令。
二、先查看你有哪些卷
docker volume ls
记住你要备份的卷名,例如:
my_data
mysql_data
portainer_data
三、备份 Docker 卷(导出为压缩包)
通用命令(直接用)
docker run --rm -v 卷名:/source -v $(pwd):/backup ubuntu tar cvf /backup/备份名.tar -C /source .
示例(把 my_data 卷备份到当前目录)
docker run --rm -v my_data:/source -v $(pwd):/backup ubuntu tar cvf /backup/my_data_backup.tar -C /source .
执行完,你当前文件夹会出现:
my_data_backup.tar
这就是完整备份文件。
四、恢复 Docker 卷(从压缩包恢复)
第一步:创建一个空卷(必须)
docker volume create 新卷名
示例:
docker volume create my_data_new
第二步:恢复数据(通用命令)
docker run --rm -v 新卷名:/target -v $(pwd):/backup ubuntu tar xvf /backup/备份名.tar -C /target
示例(恢复刚才的备份)
docker run --rm -v my_data_new:/target -v $(pwd):/backup ubuntu tar xvf /backup/my_data_backup.tar -C /target
✅ 恢复完成!
五、用恢复后的卷启动容器
docker run -d -p 8080:80 -v 新卷名:/容器内路径 镜像名
示例(MySQL):
docker run -d -p 3306:3306 -v my_data_new:/var/lib/mysql mysql
六、最常用场景:MySQL 卷备份(直接复制)
备份
docker run --rm -v mysql_data:/source -v $(pwd):/backup ubuntu tar cvf /backup/mysql_backup.tar -C /source .
恢复
docker volume create mysql_data_new
docker run --rm -v mysql_data_new:/target -v $(pwd):/backup ubuntu tar xvf /backup/mysql_backup.tar -C /target
七、超简单总结(背这 4 条就够)
- 看卷:
docker volume ls - 备份:
docker run --rm -v 卷名:/source -v $(pwd):/backup ubuntu tar cvf /backup/备份.tar -C /source . - 新建空卷:
docker volume create 新卷名 - 恢复:
docker run --rm -v 新卷名:/target -v $(pwd):/backup ubuntu tar xvf /backup/备份.tar -C /target