如何在Docker容器的tomcat 7中部署war文件

我不知道如何在Docker容器的帮助下将war文件部署到tomcat 7中。

在Windows操作系统中很容易,因为我们手动将项目的war文件粘贴到tomcat的webapps文件夹中,但是在docker容器的情况下,这有点困难。

我不知道如何更改tomcat的端口,并且由于docker容器的目录结构,在docker中的tomcat-users.xml文件中添加了angular色pipe理器。 以及如何在Docker中使用新更改端口号来启动tomcat。

最简单的方法是在docker run使用卷参数( -v )将webapps目录和tomcat-users.xml文件保留在主机文件系统上,而不是在容器上。

例如,在Linux主机上:

  • 用你需要的正确内容创build一个名为/tmp/tomcat-users.xml的文件;
  • 然后,创build一个名为/tmp/webapps的空目录。

现在,以这种方式运行你的容器:

 docker run -it --rm -p 8888:8080 -v /tmp/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro -v /tmp/webapps:/usr/local/tomcat/webapps:rw tomcat:7 

然后,由于容器在前台启动,连接到另一个shell(另一个窗口)并将您的war文件复制到/ tmp / webapps中。 它将被自动部署。

例如,在Windows主机上:

  • 用你需要的正确内容创build一个名为c:\tmp\tomcat-users.xml的文件;
  • 然后,创build一个名为c:\tmp\webapps的空目录。

现在,以这种方式运行你的容器:

 docker run -it --rm -p 8888:8080 -v //c/tmp/tomcat-users.xml:/usr/local/tomcat/conf/tomcat-users.xml:ro -v //c/tmp/webapps:/usr/local/tomcat/webapps:rw tomcat:7 

然后将你的战争文件复制到c:\tmp\webapps 。 它将被自动部署。