在 CentOS 上备份 Docker,通常分为 备份镜像、容器、数据卷、以及 Docker 配置。下面按常见场景给你一套完整、实用的做法。
docker images
docker save -o myimage.tar myimage:latest
docker save -o all_images.tar image1:tag image2:tag
✅ 恢复镜像:
docker load -i myimage.tar
⚠️ 容器本身不建议直接备份,更推荐 备份镜像 + 数据卷
docker export 容器ID > container.tar
恢复:
docker import container.tar myimage:new
docker volume ls
docker run --rm \
-v 数据卷名:/data \
-v $(pwd):/backup \
centos \
tar czf /backup/volume_backup.tar.gz -C /data .
docker run --rm \
-v 数据卷名:/data \
-v $(pwd):/backup \
centos \
tar xzf /backup/volume_backup.tar.gz -C /data
/etc/docker/
备份:
tar czf docker_config.tar.gz /etc/docker
/etc/systemd/system/docker.service.d/
⚠️ 停止 Docker 服务后再操作
systemctl stop docker
/var/lib/docker
tar czf docker_lib.tar.gz /var/lib/docker
systemctl stop docker
rm -rf /var/lib/docker
tar xzf docker_lib.tar.gz -C /
systemctl start docker
| 内容 | 推荐方式 |
|---|---|
| 镜像 | docker save |
| 容器 | 重新构建 |
| 数据 | 数据卷备份 |
| 配置 | /etc/docker |
| 数据库 | 专用工具(mysqldump 等) |
0 2 * * * docker run --rm -v mydata:/data -v /backup:/backup centos tar czf /backup/mydata_$(date +\%F).tar.gz -C /data .
❌ 不停止 Docker 直接拷贝 /var/lib/docker
❌ 只备份镜像却忽略数据卷
❌ 容器里存重要数据(应放数据卷)
如果你愿意,可以告诉我:
我可以帮你定制一套 CentOS + Docker 专用备份方案。