Как обновлять проект в докере
Сейчас пишу один проект, который планирую запускать на сервере в докер-контейнере. Проект имеет репозиторий на гит-хабе, он постепенно будет обновляться. В случае обновления нужно скнлонировать реп с гита.
Вопрос: как я должен буду обновлять проект на сервере? Мне нужно будет пересобирать докер-image проекта или же я смогу заходить в контейнер и уже там проводить обновление?
P.S. Только начинаю пользоваться докером, опыта совсем нет.
Ответы (1 шт):
Мне нужно будет пересобирать докер-image проекта или же я смогу заходить в контейнер и уже там проводить обновление?
Правильный способ - пересобирать, так как это воспроизводимо. Вот что написано в официальной документации:
It can be useful to commit a container’s file changes or settings into a new image. This allows you to debug a container by running an interactive shell, or to export a working dataset to another server. Generally, it is better to use Dockerfiles to manage your images in a documented and maintainable way.
То есть, создание образа из обновленного контейнера используется:
- для дебага
- для экспорта образа с набором данными на другой сервер
А пересборка через Dockerfile:
- документирована
- поддерживаема
PS. Кроме сборки из Dockerfile, есть и другие способы, которые более пригодны именно для продакшена, например через werf