docker export 备份容器文件系统是将容器当前运行状态的文件层打包为 tar 归档,不包含镜像历史、环境变量、端口映射等元数据,适用于轻量级快照备份;需先确认容器名或 id,推荐停止容器后导出,使用 docker export -o 或重定向方式生成 tar 文件,导出后可用 tar -tf 验证内容,再通过 docker import 转为镜像并手动指定启动命令运行。

用 docker export 备份容器文件系统,本质是把容器当前运行状态的文件层打包成一个 tar 归档,不带镜像历史、环境变量、端口映射等元数据,适合轻量级快照备份。
确认目标容器并确保其可导出
先查清要备份的容器名或 ID:
- 运行
docker ps -a查看所有容器(含已停止的) - 确认容器处于运行中或已停止均可导出——运行中导出的是实时快照;停止后导出更稳定,推荐停用后再操作
- 记下容器名(如
my_app)或 ID(如a1b2c3d4...)
使用 export 命令导出为 tar 文件
支持两种写法,效果一致,选一种即可:
docker export my_app > /backup/my_app_fs.tardocker export -o /backup/my_app_fs.tar my_app
注意:-o 参数更安全,避免重定向错误;路径需有写入权限,建议提前创建 /backup 目录。
验证备份文件内容
导出后可快速检查 tar 是否有效:
- 执行
tar -tf /backup/my_app_fs.tar | head -n 10查看前 10 个文件路径 - 若报错“Cannot open: No such file or directory”,说明路径或权限有问题
- 正常输出类似
bin/、etc/hostname、hello.txt等,表示文件系统已成功打包
导出后怎么用?
这个 tar 文件不能直接启动容器,必须先转成镜像:
- 导入为新镜像:
docker import /backup/my_app_fs.tar my_backup:v1 - 运行新容器:
docker run -d --name restored_app my_backup:v1 /bin/bash(注意:必须显式指定启动命令,否则会报No command specified) - 若原容器依赖特定 CMD 或 ENTRYPOINT,这些信息已丢失,需手动补全











