这篇文章主要讲解了“Docker怎么部署发布线上项目”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Docker怎么部署发布线上项目”吧!
第一步:打包项目
因为springboot的项目默认都是打包成jar包的,还有自带的tomcat容器,这里先修改打包方式
01:修改pom.xml中的打包方式
war
02:取消springboot自带的tomcat容器
org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-starter-tomcat
03:配置插件
否则会提示缺少web.xml文件
org.apache.maven.plugins maven-war-plugin 2.6 false
04:修改springboot的启动类
在启动类的同级目录下创建SpringBootStartApplication.class
package com.hui.myblog;import org.springframework.boot.builder.SpringApplicationBuilder;import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;/** * @author www.huiblog.top * @date 2020/9/24 19:22 * QQ:2473181454 * 概要: */public class SpringBootStartApplication extends SpringBootServletInitializer { @Override protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) { // 注意这里要指向原先用main方法执行的Application启动类 return builder.sources(MyblogApplication.class); }}
05:打包
如果时IDEA的项目直接选择右侧的maven-clean-package即可
打包成功之后,会在target目录下生成一个war包的项目。
第二步:部署
部署需要的设备:
远程linux主机(这里博主买的是阿里的ecs服务器)
有一定的linux基础(会简单的几个命令就行,比如mkdir等)
已经备案好的域名
如果上述都具备的话,那我们开始接下来的部署
01:Docker中安装自己项目涉及到的镜像
这里的话博主只用到了tomcat,mysql,nginx
下载镜像,配置镜像,启动容器这里博主就不废话了
不会的可以看下这篇文章:Docker简单使用
这里记录下配置tomcat镜像步骤,因为这里博主遇到了大坑
① 拉取镜像:
这里博主选择的是tomcat7.0
docker pull tomcat:7.0
② 启动镜像容器:
docker run -it -p 8888:8080 -v /myproject/myblog:/webapps -v /myproject/myblog/tomcatlog:/logs tomcat:7.0 /bin/bash
指令解释:
-it:以守护进程的方式运行
-p:注意这里是小写的p,大写的P会随机分配端口号,这里是将容器内部的8080端口映射到外部的8888,对开外放8888端口
码头工人怎么部署发布线上项目