【发布时间】:2015-08-19 12:12:29
【问题描述】:
我已经创建了 Docker 容器并且 Tomcat 在这个容器中运行。如何在 docker 容器中运行的 Tomcat 中部署 webapp 或 war 文件。
【问题讨论】:
标签: docker
我已经创建了 Docker 容器并且 Tomcat 在这个容器中运行。如何在 docker 容器中运行的 Tomcat 中部署 webapp 或 war 文件。
【问题讨论】:
标签: docker
首先创建一个 Dockerfile:
FROM library/tomcat
RUN rm -rf /usr/local/tomcat/webapps/*
ADD ./relative/path_to_war.war /usr/local/tomcat/webapps/ROOT.war
然后构建 Docker 镜像
$ docker build -t user/image_name .
最后运行 docker 容器。
$ docker run --name container_name -p 80:8080 -d user/image_name
之后,您的 webapp 应该在默认 http 80 端口上的 Docker 主机的 ip 上做出响应。
您可能需要将数据库容器链接到您的 web 应用,请参阅Docker documentation 了解更多信息
【讨论】:
您可以实现使用 Tomcat Docker 的有效方式。
docker run -d -p 80:8080 -v <mount-path>:/usr/local/tomcat/webapps/ tomcat:8.0
然后将 .war 文件复制到已安装的卷中。这将消除每次代码更改时重新启动 Tomcat Docker 的需要。可以实现零停机时间。
如果是一次性部署,那么您可以创建一个自定义 Docker 并将 war 文件复制到 /usr/local/tomcat/webapps/ 并启动 Docker。
【讨论】: