Как добавить пакеты в существующий контейнер docker с помощью pipenv
В настоящее время у меня есть приложение Django, запущенное в контейнере docker, и я хочу установить дополнительные пакеты в контейнер, не перестраивая весь контейнер. Я пробовал поднять контейнер, используя:
docker-compose up
then
docker-compose exec web pipenv install "package_name_here"
происходит так: пакет устанавливается, но я теряю его в момент выключения контейнера.
Как сохранить установку даже после выключения контейнера, не перестраивая при этом весь контейнер?
Обычно контейнер docker запускается с нуля каждый раз, когда вы его запускаете. Единственный способ получить постоянные данные - это создать том, который затем монтируется внутри контейнера, но остается постоянным в хранилище хоста.
Однако вы можете запустить контейнер и изменить его в соответствии с вашими потребностями (например, установить вашу установку pipenv). Затем вы можете использовать docker commit, который, по сути, является копией текущей системы, которую вы изменили. Затем вы можете изменить файл docker compose, чтобы использовать этот скоммитированный образ вместо чистого.