Docker 将其容器、卷和图像存储在一组大型文件当中,/var
这对于增量备份来说并不是最有利的。
有了 Bareos,我明白了备份 MySQL 数据库也有同样的问题可以用 bpipe 来完成。
我如何备份 Docker 容器(和图像,尽管还有其他解决方案*)以便能够轻松地将它们恢复到同一台机器或另一台机器?
*(还有docker 注册表,它将允许您将push
图像传输到远程存储库,其工作原理也有点像备份,但没有备份思维。而且它仅适用于图像,而不适用于容器或卷。)
答案1
对于图像,你可以使用节省Docker 提供的命令。通过运行:$ docker save --output output_filename.tar your_image
,Docker 将把您指定的映像保存到您当前所在目录中的 tar 文件中。然后,您可以保存此映像,或将其移动到另一台机器。
对于容器,您可以使用出口命令。这会将容器的文件系统保存到 tar 文件中。通过运行以下命令完成此操作:docker export --output="output_filename.tar" your_container
。
要使用图像,您可以使用加载命令导入 tar 文件。可以通过运行以下命令完成此操作:$ docker load --input your_image.tar
。