Ладно, у меня есть многошаговое приложение на Python, которое создает пустую базу данных SQLite, обрезает данные и вставляет их в базу данных. Он также использует Spatialite для добавления геомов, что создает некоторые проблемы при запуске приложения на разных компьютерных платформах, особенно в Windows.
Итак, я использовал docker для «докеризации» приложения. Это хорошо работает и позволяет приложению работать на разных платформах.
К сожалению, webscrape занимает много времени, поэтому приложение также имеет функцию только очистки и добавления новых данных в существующую базу данных SQLite. Таким образом, это намного быстрее.
Я все еще новичок в докере ...
Но я не думаю, что смогу добавить 1,2 ГБ базы данных SQLite в сборку докера.
Я видел кое-что об использовании $ docker cp для копирования базы данных sqlite из контейнера или монтирования контейнера в базу данных в локальной папке ...
Моя общая цель - создать страницу, на которой заинтересованные стороны могут загрузить существующую базу данных 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"]