Допустим, у меня есть куча собранных war
, каждая из которых составляет около 80-100 МБ. Я создал изображения для всех из них на основе Tomcat: официальный образ 8-jre8, и в основном каждое из этих изображений содержит только tomcat с его зависимостями и моим файлом войны.Улучшение процесса развертывания веб-приложения java внутри контейнера докера
Обычно при развертывании одного из этих приложений на сервере (tomcat
) требуется около 20-80 секунд в зависимости от размера развернутого приложения и количества его инициализации при запуске.
При развертывании таких war
s в контейнерах докеров процесс развертывания в два раза дольше, например, приложение, которое обычно развертывается за 20 секунд, должно находиться в контейнере докера примерно за 60 секунд.
Dockerfile
мои s являются своего рода основной
FROM tomcat:8.0-jre8
ENV spring.profiles.active=dev
ADD foo.war /usr/local/tomcat/webapps/
COPY bar.properties /root/
CMD ["catalina.sh", "run"]
Я пытался как работает отдельный сервер Tomcat для каждого веб-приложения и развертывания их всех на одном сервере Tomcat, но проблема по-прежнему сохраняется.
Есть ли способ улучшить время развертывания веб-приложений внутри контейнеров-докеров?
Да, я использую докер-машину. Мне не нужно часто передислоцировать, я использую Jrebel с удаленным сервером, он добавляет пару секунд к времени развертывания, но все же предлагает слишком много. Кстати, я не слышал, чтобы объемы докеров могли сворачивать классы в развернутое веб-приложение. –
Это не так, вам придется самому справиться с этим. Есть, вероятно, машины, созданные сообществом, которые могут это сделать. Извините, но я не могу вам помочь с тем, что связано с Java. Я редко использую Java –
, как я уже сказал, перераспределение не является проблемой, даже развертывание веб-приложений Java здесь не проблема, единственная проблема заключается в развертывании приложения большого размера в контейнере докеров. Как я уже говорил, до развертывания идентичной войны с tomcat из cmd/изнутри Eclipse занимает половину времени развертывания внутри контейнера. –