Docker部署web项目
一、推荐提前准备的软件1、IDEA2、xshell73、xftp74、Navicat Premium 15 二、docker上安装mysql1、先从网上拉取mysql镜像2、创建mysql容器3、后续自己创建数据库 三、docker上安装tomcat1、先从网上拉取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文件里添加打包的后缀名为war3、指定打包的包名为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、IDEA
常用的后端开发软件(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 {@Overrideprotected 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