【发布时间】:2016-08-30 14:22:07
【问题描述】:
我一直在研究 docker 上 tomcat 的最佳实践以及如何链接 WAR 文件。
遇到的两种方法是:
- 扩展基础 tomcat 映像并将 WAR 文件复制到
/webapps,然后将映像重建为您自己的。 - 使用两个容器,第一个是裸tomcat,第二个是数据容器,例如busybox,其中包含WAR 文件。然后,您可以将busybox 容器挂载到tomcat 容器
/webapps,然后WAR 文件就会被有效地拾取。
我喜欢第二种方法的声音,但是我无法成功地让它工作。
我尝试使用 busybox 创建一个数据容器,然后使用 docker compose 来启动服务。 WAR 不会被复制,busybox 容器会立即停止。
数据容器 Dockerfile:
FROM busybox
RUN mkdir /webapps
COPY ./demo.war /webapps/demo.war
VOLUME ['/webapps']
docker-compose.yml
version: '2'
services:
data:
image: <Data Container Image>
tomcat:
image: tomcat:8.5.4-jre8
volumes_from:
- data
ports:
- "678:8080"
在docker-compose up 运行后,不会复制WAR 文件,busybox 容器会立即退出。
任何帮助将不胜感激。
【问题讨论】:
标签: tomcat docker docker-compose