#python #django #docker
#python #django #docker
Вопрос:
Я использую «reportlab». Мне приходится устанавливать «pip install reportlab» каждый раз, когда я захожу в среду docker, я не хочу каждый раз устанавливать какое-либо решение.
Комментарии:
1. Добавьте
RUN pip install reportlab
в Dockerfile, или, если вы уже устанавливаетеrequirements.txt
в Dockerfile, затем добавьтеreportlab
к нему.2. В Docker есть официальное руководство по созданию и запуску пользовательских образов , которое является хорошей отправной точкой; оно даже ориентировано на Python, и это должно вам помочь. Прямая установка пакетов в запущенные контейнеры — не лучшая практика, поскольку вы, скорее всего, потеряете работу.
Ответ №1:
Вы можете настроить requirements.txt
файл, а затем иметь что-то подобное в вашем Dockerfile
:
ADD requirements.txt /code/ # I've assumed code is where you keep your dev files
WORKDIR /code # where to run docker commands
RUN pip install -r requirements.txt # install the dependencies
Вы можете поместить не только reportlab
, но и все другие зависимости вашего проекта в этот файл (это распространенный шаблон в проектах Python).
Кроме того, в зависимости от того, как вы запускаете свое приложение, вы хотите убедиться, что не удаляете контейнер при выходе из него.
Ответ №2:
Войдите в контейнер, установите все необходимые компоненты и создайте образ. Этот образ можно повторно использовать для создания новых контейнеров.
Фиксация Docker
https://docs.docker.com/engine/reference/commandline/commit/