如何将Dockerized Python应用程序和现有SQLite数据库组合



好吧,所以我有一个多列表python应用程序,该应用程序可以创建一个空的SQLITE数据库,WebScrapes数据并将其插入数据库。它还使用空间添加GEOMS,因此在不同的计算机平台上运行该应用程序时会创建一些问题。

所以,我使用Docker"对接"了该应用程序。这效果很好,并允许应用程序在不同的平台上运行。

不幸的是,Webscrape需要很长时间,因此该应用程序还具有仅刮擦并将新数据添加到现有SQLite数据库中的功能。这样,它更快了。

我还是Docker的新手...但是,我认为我不能在Docker构建中添加1.2 GB SQLITE DB。

我已经看到了一些有关使用$ Docker CP将SQLITE数据库复制在容器中或将容器安装到本地文件夹中的DB的东西...

我的总体目标是拥有一个页面,在该页面上,感兴趣的各方可以下载现有的SQLITE数据库,并让他们能够将Dockerized Python应用程序应用于其下载的数据库,以在可用时添加新数据。

有人知道这样做的一种简单有效的方法吗?

我的dockerfile看起来像这样:

FROM python:3.6-stretch
COPY website.py /tmp
COPY json_data.py /tmp
COPY database.py /tmp
COPY update_whalealert.py /tmp
COPY update_spotter.py /tmp
COPY credentials.config /tmp/
COPY requirements.txt /tmp/
COPY spotter.sqlite /tmp/
RUN pip install -r /tmp/requirements.txt
RUN apt-get update
RUN apt-get install -y python3-dev gcc libsqlite3-        
mod-spatialite
WORKDIR /tmp
CMD ["python", "update_whalealert.py"]
CMD ["python", "update_spotter.py"]

我能够通过将整个SQLITE数据库构建到图像中,然后运行它,然后使用$ DOCKER CP复制更新的数据库来使其能够使其工作进入本地文件夹。

但是,我仍然可以接受优化的方法。

最新更新