2016-02-25 3 views
1

Я пытаюсь получить более подробную информацию о докере, и мне было интересно узнать, что является лучшей практикой и жизненным циклом для запуска java-webapp в качестве службы с помощью докеров.Жизненный цикл образа Docker для приложения на основе Java

Должно ли мое изображение уже работать tomcat, или мне нужно запустить tomcat при запуске изображения?

Я бы использовал объем данных для хранения данных. Каким будет состояние этого контейнера? всегда работает или просто имеет контейнер в остановленном состоянии.

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

+0

Как изображение может быть уже запущено? Это всего лишь моментальный снимок файловой системы. – Thilo

ответ

0

Самый простой способ - настроить контейнер, содержащий в нем двоичные файлы tomcat. А также скопируйте пользовательский java-webapp в папку webapps сервера tomcat, чтобы он автоматически загружался каждый раз при запуске tomcat. И для этого контейнера вы можете указать точку входа как скрипт startup.sh, доступный в папке bin tomcat. Поэтому каждый раз, когда вы запускаете контейнер докеров с командой run, сервер tomcat запускается и, в свою очередь, загружает ваш java-webapp.

Если вы хотите, чтобы tomcat работал все время, тогда да, контейнер должен находиться в рабочем состоянии. Обратите внимание, что любые изменения, которые вы выполняете как часть пользовательского приложения в tomcat, или любые изменения в конфигурациях tomcat, вам нужно будет использовать фиксацию докера, чтобы сохранить состояние контейнера в качестве нового изображения или перезаписать существующее изображение. Иначе, если контейнер остановится, все изменения будут потеряны и вернутся к исходной конфигурации при создании контейнера. Поэтому да, если контейнер остановится, это будет чистый перезапуск сверху, так как на сервере tomcat снова будет запущен и загружен java-webapp.