Стандартный способ сделать это - создать новый образ Docker, содержащий ваш новый код приложения.Пометьте его (как в аргументе docker build -t
) какой-то уникальной версией, например, тегом управления исходным кодом или отметкой даты.Запустите новый контейнер с новым кодом приложения, затем остановите и удалите старый контейнер.
Как правило, вы не обновляете программное обеспечение внутри работающего контейнера.Удалите старый контейнер и запустите новый контейнер с программным обеспечением и версией, которую вы хотите.Кроме того, этим обычно управляет оператор, система непрерывного развертывания или система оркестровки, а не сам контейнер.(Монтирование сокета Docker в контейнер представляет собой значительную угрозу безопасности.)
(Представьте себе, что вы настраиваете вторую копию кластера, которая работает точно так же, как ваш производственный кластер, за исключением того, что в нем есть необходимое программное обеспечение.развертывание завтра. Вы не хотите, чтобы ваш производственный кластер брал это самостоятельно, пока вы не протестировали его. Эта схема должна дать вам воспроизводимую настройку развертывания, чтобы легко запустить этот подготовительный кластер, но также дать вамконтроль над тем, какие конкретные версии работают.)