Docker部署web项目
- 一、推荐提前准备的软件
- 1、IDEA2022
- 2、xshell7
- 3、xftp7
- 4、Navicat Premium 15
- 二、docker上安装mysql
- 1、先从网上拉取mysql镜像
- 2、创建mysql容器
- 3、后续自己创建数据库
- 三、docker上安装tomcat
- 1、先从网上拉取tomcat镜像
- 2、创建tomcat容器
- 3、复制本地里conf里的这三个文件到xftp里自己设置的tomcat文件夹内conf文件夹内
- 4、将webapps.dist里的文件复制到webapps里
- 4.1 进入tomcat容器
- 4.2 将webapps.dist里的内容复制到webapps里
- 四、IDEA将项目打包成war包
- 1、首先在pom.xml里添加依赖
- 2、在pom.xml文件里添加打包的后缀名为war
- 3、指定打包的包名为demo(自己随便取个名字)
- 4、创建一个类
- 5、执行命令打包成war包
- 5.1 点击这个地方
- 5.2 执行命令即可
- 5.3 最后war包的位置就在target里面
- 五、将war包发布到docker上的tomcat里
- 1、将war包从本机复制粘贴到xftp对应的tomcat文件夹下的webapps文件夹内
- 2、重新运行tomcat容器,war包自动解压,就可以成功运行了
- 2.1 访问地址格式:地址IP号:8080/项目文件名
- 2.2 界面如下
一、推荐提前准备的软件
1、IDEA2022
常用的后端开发软件(javaweb、spring、springboot)
2、xshell7
用来连接并操控远程服务器的软件
3、xftp7
用来拖取文件到远程服务器中
4、Navicat Premium 15
用来连接数据库的软件,十分方便
二、docker上安装mysql
1、先从网上拉取mysql镜像
docker pull mysql:8.0.23
2、创建mysql容器
docker run -p 3306:3306 --name mysql8 --restart=always --env=TZ=Asia/Shanghai -v /xgmysql/mysql8/conf:/etc/mysql/conf.d -v /xgmysql/mysql8/logs:/logs -v /xgmysql/mysql8/data:/var/lib/mysql -v /xgmysql/mysql8/backup:/backup -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0.23
3、后续自己创建数据库
三、docker上安装tomcat
1、先从网上拉取tomcat镜像
docker pull tomcat:8.5.73-jdk8-corretto
2、创建tomcat容器
docker run --name tomcat -p 8080:8080 -v /mytomcat/tomcat/conf:/usr/local/tomcat/conf -v /mytomcat/tomcat/logs:/usr/local/tomcat/logs -v /mytomcat/tomcat/webapps:/usr/local/tomcat/webapps -v /mytomcat/tomcat/webdata:/data -d tomcat:8.5.73-jdk8-corretto
3、复制本地里conf里的这三个文件到xftp里自己设置的tomcat文件夹内conf文件夹内
这样tomcat容器启动后就不会自动死亡
4、将webapps.dist里的文件复制到webapps里
4.1 进入tomcat容器
docker exec -it 6392d872cf43 /bin/bash
4.2 将webapps.dist里的内容复制到webapps里
(1)命令如下
cp -r webapps.dist/* webapps
这样tomcat也有相应界面了,没复制之前是没有的
(2)相关界面
注意:如果是
自己本机就是:localhost:8080
如果是远程服务器就是:远程服务器IP地址:8080
这样就布置成功了
四、IDEA将项目打包成war包
1、首先在pom.xml里添加依赖
<!-- 外置tomcat启动要的jar包 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
2、在pom.xml文件里添加打包的后缀名为war
<packaging>war</packaging>
3、指定打包的包名为demo(自己随便取个名字)
标签中加上 Spring_JPA_demo1
此标签目的为打出来的包名直接为 demo.war,而不是 artifactId+version .war的形式。
4、创建一个类
package com.jpa.spring_jpa.config;
import com.jpa.spring_jpa.SpringJpaApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
public class ServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(SpringJpaApplication.class);
}
}
5、执行命令打包成war包
5.1 点击这个地方
5.2 执行命令即可
5.3 最后war包的位置就在target里面
五、将war包发布到docker上的tomcat里
1、将war包从本机复制粘贴到xftp对应的tomcat文件夹下的webapps文件夹内
2、重新运行tomcat容器,war包自动解压,就可以成功运行了
2.1 访问地址格式:地址IP号:8080/项目文件名
自己本机:localhost:8080/Spring_JPA_demo1
远程服务器:服务器IP地址:8080/Spring_JPA_demo1
2.2 界面如下