欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

maven (eclipse|Vs Code) 远程部署docker上的tomcat

程序员文章站 2022-03-09 19:39:02
...

首发于iik.moe

在docker上装了个Tomcat,由于container的特性,eclipse不能通过常规手段定位Tomcat,所以进行在本地进行“远程部署”。

docker配置

初始化

$ docker pull tomcat
$ docker run --name tomcat -p 8080:8081 tomcat
$ docker exec -it tomcat bash

-p 8080:8081:将容器的8080端口映射到主机的8081端口

修改配置

修改配置前我们需要确认一下有没有文本编辑器,可以通过apt-get下载一个vim。

修改tomcat/conf/tomcat-user.xml文件,在最末尾对应位置修改加入以下内容:

<role rolename="manager-gui" />
<role rolename="manager-script" />
<role rolename="admin-gui" />
<role rolename="admin-script" />
<user username="admin" password="kitekii" roles="manager-gui,manager-script,admin-gui,admin-script" />

只有添加用户才能进入localhost:8081/manager,否则会显示403 Access Denied

载入插件

接着我们回到maven,在项目中的pom.xml中<plugins>标签下添加以下内容:

<plugin>
	<groupId>org.apache.tomcat.maven</groupId>
	<artifactId>tomcat7-maven-plugin</artifactId>
	<configuration>
        <!-- 指定项目部署的端口 -->
		<port>8081</port>
		<!-- 指定项目部署的URL,/manager/text是预置的部署接口 -->
        <url>http://127.0.0.1:8081/manager/text</url>
		<username>admin</username>
		<password>kitekii</password>
		<update>true</update>
		<!-- 指定项目部署路径,如果不设置为默认项目名称 -->
		<path>/mobile</path>
    </configuration>
</plugin>

即向maven加载了部署所需要的插件,值得注意的是,该tomcat7插件支持部署至tomcat7.*、8.*。

部署

由于是远程部署,调试相关显得更加复杂,此处先对部署进行阐释。

VS Code

只需在shell中键入下文:

$ mvn tomcat7:deploy

Eclipse

添加Run Configuration,选择Maven Build项,修改goal为tomcat7:deploy即可。