是否可以备份所有卷/数据/状态的Docker容器?

时间:2019-06-18 12:03:43

标签: wordpress docker docker-compose dockerfile

我是Docker的新手,想知道是否可以进行以下设置:

我有一台个人计算机,我正在通过Dockerfile在WordPress站点上工作。他一切都很好,而且数据是持久的。

我想做的是能够将工作保存在Docker Hub或Github上(我假设更新的映像将备份在我的Docker Hub上),然后在完全不同的计算机上工作,以便于我离开关闭。

有可能吗?

1 个答案:

答案 0 :(得分:0)

通常,您应该能够设置Docker容器,以使容器内根本没有持久性状态。您可以自由删除并重新创建容器,而不会丢失数据。最好和最简单的情况是只依赖某些外部数据库的容器,在这种情况下,您无需执行任何操作。

如果您具有本地定制的Wordpress安装或将持久性数据存储在文件系统中的内容,则应使用docker run -v选项或Docker Compose volumes:选项来注入部分内容。主机文件系统放入容器中。然后需要备份这些卷(对于所有Docker文档认可的命名卷,如果使用主机目录,则正常的备份解决方案将可以正常工作。

简而言之,我建议:

  • 为您的应用程序构建自定义映像,然后将Dockerfile和所有支持工件检入源代码控制。他们不需要单独备份;即使您丢失了图像,也可以再次docker build

  • 使用绑定安装注入自定义项,然后将这些自定义项检查到源代码管理中。他们不需要单独备份。

  • 使用卷或绑定装载存储可变数据,并正常备份这些数据。

  • 容器是一次性的。您不需要备份容器本身,您应该总是能够从上面的工件中重新创建它。