如何在 docker 容器的 tomcat 7 中部署 war 文件
how to deploy war file in tomcat 7 of docker container
我不知道如何在 docker 容器的帮助下将 war 文件部署到 tomcat 7。
在 windows OS 中很容易,因为我们手动将项目的 war 文件粘贴到 tomcat 的 webapps
文件夹中,但如果 docker容器有点难
由于 docker 容器的目录结构,我不知道如何更改 tomcat 的端口并在 docker 的 tomcat-users.xml
文件中添加角色管理器。以及如何使用 docker.
中新更改的端口号启动 tomcat
最简单的方法是使用带有 docker run
的卷参数 (-v
) 使 webapps
目录和 tomcat-users.xml
文件保留在主机文件系统上,而不是在容器一上。
例如,在 Linux 主机上:
- 根据您的需要创建一个名为
/tmp/tomcat-users.xml
的文件;
- 然后,创建一个名为
/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(另一个 window)并将您的 war 文件复制到 /tmp/webapps。
它将自动部署。
例如,在 Windows 主机上:
- 根据您的需要创建一个名为
c:\tmp\tomcat-users.xml
的文件;
- 然后,创建一个名为
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
然后将您的 war 文件复制到 c:\tmp\webapps
。它将自动部署。
至于 2021 年 3 月,在 Windows Docker 上使用单一命令行解决方案,试试这个:
docker 运行 --name YourApp -v "c/WarFiles/YourApp.war:/usr/local/tomcat/webapps/YourApp.war " -it -p 9090:8080 tomcat:7
然后在 http://localhost:9090/YourApp 打开你的应用
注意卷中的“双引号”和 c 使用“Linux”斜杠 / 驱动器以使其工作。
我不知道如何在 docker 容器的帮助下将 war 文件部署到 tomcat 7。
在 windows OS 中很容易,因为我们手动将项目的 war 文件粘贴到 tomcat 的 webapps
文件夹中,但如果 docker容器有点难
由于 docker 容器的目录结构,我不知道如何更改 tomcat 的端口并在 docker 的 tomcat-users.xml
文件中添加角色管理器。以及如何使用 docker.
最简单的方法是使用带有 docker run
的卷参数 (-v
) 使 webapps
目录和 tomcat-users.xml
文件保留在主机文件系统上,而不是在容器一上。
例如,在 Linux 主机上:
- 根据您的需要创建一个名为
/tmp/tomcat-users.xml
的文件; - 然后,创建一个名为
/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(另一个 window)并将您的 war 文件复制到 /tmp/webapps。 它将自动部署。
例如,在 Windows 主机上:
- 根据您的需要创建一个名为
c:\tmp\tomcat-users.xml
的文件; - 然后,创建一个名为
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
然后将您的 war 文件复制到 c:\tmp\webapps
。它将自动部署。
至于 2021 年 3 月,在 Windows Docker 上使用单一命令行解决方案,试试这个:
docker 运行 --name YourApp -v "c/WarFiles/YourApp.war:/usr/local/tomcat/webapps/YourApp.war " -it -p 9090:8080 tomcat:7
然后在 http://localhost:9090/YourApp 打开你的应用
注意卷中的“双引号”和 c 使用“Linux”斜杠 / 驱动器以使其工作。