Docker 安装tomcat容器
13、Docker:安装tomcat容器
目标: 掌握在docker中安装tomcat容器
操作步骤
-
第一步:拉取镜像
# 拉取tomcat镜像 docker pull tomcat
第二步:创建容器
# 创建tomcat容器;并挂载了webapps目录
docker run -di --name=mytomcat -p 9000:8080 -v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps tomcat
# 查看日志
docker logs -f mytomcat
# 如果出现 WARNING: IPv4 forwarding is disabled. Networking will not work.
# 执行如下操作
# 1、编辑 sysctl.conf
vi /etc/sysctl.conf
# 2、在上述打开的文件中后面添加
net.ipv4.ip_forward=1
# 3、重启network
systemctl restart network
测试访问宿主机的端口号为9000的 tomcat。地址:http://宿主机ip:9000,也可以往/user/local/tomcat/webapps下部署应用,然后再访问。
第三步:部署web应用
- 创建springboot_db数据库,再创建tb_user表
- 查看mysql5.7容器的ip地址(docker inspect mysql5.7)
修改springboot-high工程的application.yml(数据库连接池信息),使用宿主机的ip和端口也可以,如果使用的是容器的ip和端口,前提是两个容器必须在同一个宿主机下。
-
spring: datasource: driver-class-name: com.mysql.jdbc.Driver url: jdbc:mysql://172.17.0.4:3306/springboot_db # 使用容器的ip端口或宿主机的ip端口 username: root password: root
-
修改springboot-high工程的pom文件
<!--第一步,指定打war包--> <packaging>war</packaging> <!--第二步,打包排除内嵌tomcat--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> <!--第三步,指定springboot项目打包插件--> <build> <finalName>ROOT</finalName> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build>
-
编写WebServletInitializer类,作用等价于web.xml
package cn.itcast.configuration; import cn.itcast.HighApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; /** * 作用等价于web.xml * * @Author LK * @Date 2020/11/7 */ public class WebServletInitializer extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { builder.sources(HighApplication.class); return builder; } }
-
进入项目pom文件命令行下,执行打包命令: mvn package -Dmaven.test.skip=true
-
上传ROOT.war到/usr/local/tomcat/webapps/目录下。
第四步:浏览器访问 (http://192.168.253.128:9000/findAll)
Memorial Day is 511 days |