我有一个使用SQLite数据库的Python应用程序(它是一个每日通过cron运行的数据收集器)。我想使用Docker在AWS或Google容器引擎上部署它。我看到三个主要步骤:
1. 将应用程序制作成容器并在本地进行测试。
2. 在AWS或GCE上部署和运行应用程序。
3. 定期备份数据库并下载到本地存档中。
1. 将应用程序制作成容器并在本地进行测试。
2. 在AWS或GCE上部署和运行应用程序。
3. 定期备份数据库并下载到本地存档中。
最近的帖子(关于Docker,StackOverflow和其他地方)说自1.9以来,卷现在是处理持久化数据的推荐方式,而不是“数据容器”模式。为了未来的兼容性,我总是喜欢使用首选的习惯用法,但是与数据容器相比,卷似乎更具挑战性。我错过了什么吗?
按照“数据容器”模式,我可以轻松地:
- 使用所有静态程序和配置文件构建基础镜像。
- 从该镜像创建数据容器镜像,并将我的数据库和备份目录复制到其中(在Dockerfile中使用简单的COPY命令)。
- 将两个镜像推送到Docker Hub。
- 将它们下载到AWS。
- 运行数据和基础镜像,使用“--volume-from”引用数据。
使用“docker volume create”:
- 我不清楚如何将我的数据库复制到卷中。
- 我非常不清楚如何将包含数据库的卷上传到AWS或GCE...无法PUSH / PULL卷。
我是否忽略了有关卷的某些内容?
有没有一个好的概述来使用卷来实现我想要做的事情?
根据我的步骤3,有没有一种推荐的、惯用的方法来备份和下载数据(使用数据容器模式或卷)?