如何在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
。 它将被自动部署。