我应该备份/ var / lib / docker中的所有内容吗?

时间:2017-08-16 14:42:46

标签: docker backup

我目前在Ubuntu 17.04上运行Docker 1.12.6,我想知道 / var / lib / docker 下的所有目录是否应包含在我的每月备份中(I使用rsnapshot备份 / 下的所有内容,然后设置一些exclude规则。

例如,对于Vagrant,我从备份下载的图像及其生成的计算机( .vagrant.d / boxes / .VirtualBox / Machines / )中排除,因为它们可以随时使用各自的 Vagrantfile 重建。

但我真的不明白/var/lib/docker目录结构是如何工作的。它就像我的系统中的以下内容:

# tree -L 2 -a -F --dirsfirst --noreport /var/lib/docker/
/var/lib/docker/
├── aufs/
│   ├── diff/
│   ├── layers/
│   └── mnt/
├── containers/
├── image/
│   └── aufs/
├── network/
│   └── files/
├── swarm/
├── tmp/
├── trust/
└── volumes/
    └── metadata.db

2 个答案:

答案 0 :(得分:2)

是的,/ var / lib / docker下的所有目录都应包含在备份中。

Docker容器由网络设置,卷和映像组成。 Docker文件的位置取决于您的操作系统。

以下是最常用的操作系统的概述:

  • Ubuntu,Fedora和Debian:/ var / lib / docker /
  • Windows:C:\ ProgramData \ DockerDesktop
  • MacOS:〜/ Library / Containers / com.docker.docker / Data / vms / 0 /

(在macOS和Windows中,Docker在虚拟环境中运行Linux容器。)

注意

升级内核时,不安装aufs内核模块的更新版本;在这种情况下,守护程序将拒绝以“不支持以前使用的存储驱动程序”的消息开始。如果守护程序无法启动,请在执行操作之前始终阅读日志。

要解决此问题,请确保已安装了aufs内核模块,例如,如Ubuntu的安装文档中所述。

答案 1 :(得分:0)

我认为这篇文章可能对您有所帮助:

How can I backup a Docker-container with its data-volumes?

另外,我强烈建议您查看Docker论坛和文档:https://forums.docker.com/

问题:您想备份什么? Docker本身还是创建了持久性文件夹?