Нужно ли запускать docker контейнер после каждого изменения кода? - PullRequest
0 голосов
/ 30 января 2020

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

1 Ответ

1 голос
/ 30 января 2020

Это действительно зависит от того, как в целом построено ваше приложение.

Например, если у вас есть процесс java, который использует скомпилированный код, то по умолчанию вам придется пересоберите образ docker (запустите docker build или используйте docker -составьте синтаксис, который создаст образ, он будет делать то же самое под капотом) и перезапустите контейнер.

В том же java Universe, если у вас есть, скажем, Tomcat как сервер, на котором размещен некоторый WAR-файл, то вы можете только перезагрузить сам WAR-файл, и вам не нужно будет перезапускать процесс tomcat (процесс docker).

Если ваше приложение представляет собой набор файлов сценариев java, обслуживаемых сервером узла, у вас есть параметры.

Для всех типов приложений: если вы не хотите перестраивать каждый образ время - вы можете создать том и поместить артефакт кода приложения в том. Процесс «предположит», что том смонтирован (он увидит его как папку в своей файловой системе) и запустит его. Таким образом, вместо перекомпоновки изображения вы поместите артефакт в том, который также может быть отображен в виде папки на хост-компьютере. Для производства это не рекомендуется, но вы можете использовать его для разработки (хотя у вас должна быть причина использовать docker для разработки, почему бы не запустить процесс напрямую).

Для приложений, которые могут быть перезагружены размещение файлов Java Script - вам не придется перезагружать процесс с помощью метода, который я описал выше.

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