在docker容器中运行maven webapp

前端之家收集整理的这篇文章主要介绍了在docker容器中运行maven webapp前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在尝试使用Maven构建一个简单的Web应用程序,并在Docker容器内运行Tomcat7.

这是我的结构:

  1. - Dockerfile
  2. - pom.xml
  3. - src/main/webapp/index.hmtl

这是我的Dockerfile:

  1. FROM java:8
  2. # Install maven
  3. RUN apt-get -y update && apt-get install -y maven
  4. WORKDIR /code
  5. # Prepare by downloading dependencies
  6. ADD pom.xml /code/pom.xml
  7. # Adding source,compile and package into a fat jar
  8. ADD src /code/src
  9. RUN ["mvn","package"]
  10. EXPOSE 8080
  11. CMD ["mvn","tomcat7:run"]

我用它构建Docker镜像

  1. docker build -t webapp-example .

并尝试运行它

  1. docker run -d -p 8080:8080 webapp-example

但显然它不起作用.

有任何想法吗?

最佳答案
由于您使用tty和交互式标志共享运行,如下所示解决了您的问题,

docker run -ti –rm -p 8080:8080 webapp-example

这是因为您的基本映像是java:8,主要用于在前端模式下运行应用程序(使用-ti标志)或仅在-d模式下编译.

此外,由于maven是构建工具,不应该用于运行应用程序,你应该,

>使用maven:最新图像创建webapp.
>使用官方tomcat image将其单独部署为tomcat容器.

猜你在找的Docker相关文章