Я искал лучшие практики для tomcat на докере и как связать WAR-файл.Использование докерного кота с внешним WAR
Эти два подхода, которые попадались являются:
- Расширение базы TOMCAT изображение и копирование файла WAR в
/webapps
, а затем восстанавливать изображение как свои собственные. - Используйте два контейнера, первый голый tomcat, а второй контейнер данных, такой как busybox, который содержит WAR-файл. Затем вы установили контейнер busybox в контейнер tomcat по адресу
/webapps
, и файл WAR был бы эффективно поднят.
Мне нравится звук второго подхода, однако мне не удалось успешно заставить его работать.
Я попытался создать контейнер данных с помощью busybox, а затем использовать компоновку докеров для запуска служб. WAR не копируется, и контейнер busybox немедленно останавливается.
Data Container Dockerfile:
FROM busybox
RUN mkdir /webapps
COPY ./demo.war /webapps/demo.war
VOLUME ['/webapps']
докер-compose.yml
version: '2'
services:
data:
image: <Data Container Image>
tomcat:
image: tomcat:8.5.4-jre8
volumes_from:
- data
ports:
- "678:8080"
Файл WAR не копируется и выходит BusyBox контейнер сразу после docker-compose up
запускается.
Любая помощь будет оценена по достоинству.