2016-03-04 2 views
0

Допустим, у меня есть куча собранных 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, но проблема по-прежнему сохраняется.
Есть ли способ улучшить время развертывания веб-приложений внутри контейнеров-докеров?

ответ

0

Вы используете docker-machine? Если это так, потребуется некоторое время, чтобы отправить файлы на движок докеров, поэтому вы можете сделать это немного. В целях развития вы можете сделать еще один Dockerfile, который использует тома для синхронизации файлов между хостом и контейнером, поэтому вам не придется перестраивать каждый раз, когда вы решите развернуть.

+0

Да, я использую докер-машину. Мне не нужно часто передислоцировать, я использую Jrebel с удаленным сервером, он добавляет пару секунд к времени развертывания, но все же предлагает слишком много. Кстати, я не слышал, чтобы объемы докеров могли сворачивать классы в развернутое веб-приложение. –

+0

Это не так, вам придется самому справиться с этим. Есть, вероятно, машины, созданные сообществом, которые могут это сделать. Извините, но я не могу вам помочь с тем, что связано с Java. Я редко использую Java –

+0

, как я уже сказал, перераспределение не является проблемой, даже развертывание веб-приложений Java здесь не проблема, единственная проблема заключается в развертывании приложения большого размера в контейнере докеров. Как я уже говорил, до развертывания идентичной войны с tomcat из cmd/изнутри Eclipse занимает половину времени развертывания внутри контейнера. –

Смежные вопросы