我尝试在 docker 上使用 maven 和 tomcat 部署一个 java web 应用程序。我正在使用两个 Dockerfile,一个用于我的 maven 项目,一个用于 tomcat 用 docker-compose 组合它们,然后我将 .war 文件从 maven 容器复制到 tomcat 容器,但我不太喜欢这种方式。我确信有办法用卷来做到这一点,这就是我的问题。我的文件是这些...
Maven Dockerfile
FROM maven:3.5.2-jdk-8
RUN git clone mygitproject
# Create app directory
WORKDIR mics-project
RUN mvn install
tomcat Dockerfile_tc
FROM tomcat:8.0-jre8
# Create app directory
WORKDIR /usr/local/tomcat/bin
CMD ["catalina.sh", "run"]
EXPOSE 8080
码头工人-compose.yml
version: '3'
services:
maven:
container_name: maven-container
build:
context: .
dockerfile: Dockerfile
tomcat:
container_name: tomcat-container
build:
context: .
dockerfile: Dockerfile_tc
ports:
- "8080:8080"
然后我有一个 .bat 文件并运行一些命令将我的战争文件复制到 tomcat ......
cd C:\Users\Administrator\Project\mics-project
del "mics-project.war" >nul 2>&1
start docker cp maven-container:/mics-project/target/mics-project.war c:/Users/Administrator/Project/mics-project
start docker cp c:/Users/Administrator/Project/mics-project/mics-project.war tomcat-container:/usr/local/tomcat/webapps/
有用!但是我怎样才能在我的 docker-compose.yml 文件中使用卷而不是执行这些命令呢?