我是Docker的新手,想知道是否可以进行以下设置:
我有一台个人计算机,我正在通过Dockerfile在WordPress站点上工作。他一切都很好,而且数据是持久的。
我想做的是能够将工作保存在Docker Hub或Github上(我假设更新的映像将备份在我的Docker Hub上),然后在完全不同的计算机上工作,以便于我离开关闭。
有可能吗?
答案 0 :(得分:0)
通常,您应该能够设置Docker容器,以使容器内根本没有持久性状态。您可以自由删除并重新创建容器,而不会丢失数据。最好和最简单的情况是只依赖某些外部数据库的容器,在这种情况下,您无需执行任何操作。
如果您具有本地定制的Wordpress安装或将持久性数据存储在文件系统中的内容,则应使用docker run -v
选项或Docker Compose volumes:
选项来注入部分内容。主机文件系统放入容器中。然后需要备份这些卷(对于所有Docker文档认可的命名卷,如果使用主机目录,则正常的备份解决方案将可以正常工作。
简而言之,我建议:
为您的应用程序构建自定义映像,然后将Dockerfile和所有支持工件检入源代码控制。他们不需要单独备份;即使您丢失了图像,也可以再次docker build
。
使用绑定安装注入自定义项,然后将这些自定义项检查到源代码管理中。他们不需要单独备份。
使用卷或绑定装载存储可变数据,并正常备份这些数据。
容器是一次性的。您不需要备份容器本身,您应该总是能够从上面的工件中重新创建它。