Как мне написать Dockerfile для моего приложения Python? - PullRequest
0 голосов
/ 26 апреля 2020

Я могу сделать это монолитным c способом:

Монолит c

Dockerfile


FROM debian:10.0
RUN pip install --requirements requirements.txt # assume 400 MB
RUN pip install application:<tag>

Или использовать более модульный подход с использованием дополнительной базы:

модульная

база. Dockerfile

FROM debian:10.0
RUN pip install --requirements requirements.txt

main.Dockerfile

FROM application-base:latest
RUN pip install application:<tag>

Этот вопрос Как написать Dockerfile для пользовательского python проекта? , кажется, рекомендует первый подход; но я боюсь, что это приведет к большему расходу дискового пространства по сравнению с последним?

Предположим, что в моем requirements.txt что-то изменится (что произойдет раз в 3 месяца), Docker потребуется создать новый слой 400 мб верно? Не будет ли второй подход правильно понимать изменения дельты? Единственная проблема, которую я вижу, это:

  1. Как сделать версию моего base образа - возможно, тег, где requirements.txt последний раз обновлялся?
  2. Сложности, связанные с поддержкой нескольких файлов Docker .

Я не знаю, полагаются ли люди на docker репозитории, но я думаю, что это будет нужно правильно (по крайней мере, пока вы не отключите эту версию или что-то в этом роде)?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...