达瓦里氏~~ jar包的打包方式就不过对赘述了,用过Maven的同志们一定都知道。
鉴于我是用的是STS(和Eclipse界面一样)开发的项目,二话不说直接打包。
右键你的项目—>选择RUN AS—>Maven install打包
这里要说一下,我设置的是打包为jar包模式,是方便开发和部署。
而SpringBoot既可以打成war发布,也可以jar包发布。
打jar包:SpringBoot内置了Tomcat,所以你的项目直接以jar运行,其实就启动了内置的Tomcat,只不tomcat的配置要依靠spring boot的配置文件。并且没有tomcat相关日志,只能依靠jar包应用自带的日志记录。但是贵在方便快捷,适用于简单应用,要求不高的情况下。
打war包:需要安装tomcat,然后放到waeapps目录下运行tomcat,tomcat会自行解压你的项目并管理,也可以灵活选择tomcat版本。相对打成jar包来说没那么快速方便,其实还是要看你的业务需求了。
紧接我们的步骤,找到你的jar包,here~这里:
通常来说,我们可以直接在有JRE环境的PC设备上运行这个jar包程序,就好比这样:
进入你web-0.0.10SNAPSHOT.jar所在的目录下,执行下面这条指令即可开启SpringBoot内置的Tomcat容器,启动你的项目,就像你再开发环境下启动SpringBootApplication一样方便快捷。
CMD命令窗口启动项目命令:
java -jar web-0.0.1-SNAPSHOT.jar
启动后效果如下:
当然,在未部署的情况下,我的application.yml关联的Mysql数据库还是本地Mysql
#关于Mysql连接的配置
server:
port: 80
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://127.0.0.1:3306/Blog?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC&useSSL=false
username: root
password: 123456
使用WinSCP或者X-Shell将jar包还有项目所需要的文件都上传到Linux的指定目录下
(目录可以自己建一个)
这里我上传了我的jar包还有一个WeatherSetting.md文件(网页中的天气配置信息)到Linux服务器的mySpringBootWeb目录下了。
上传后用Putty登等服务器,查看一下目录下的文件是否完整。
OK确认无误,可以开始编写我们的DockerFile构建容器了。
如果不了解Docker技术的~达瓦里氏 可以自行百度学习一下。
Docker:Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
如图,编写Web_DockerFile内容如下:
FROM java:8
MAINTAINER Weikisa
ADD web-0.0.1-SNAPSHOT.jar myBlog.jar
CPOY WeatherSetting.md WeatherSetting.md
EXPOSE 80
ENTRYPOINT ["java","-jar","/myBlog.jar"]
我们就使用这段DockerFile来构建一个我们的Web项目镜像。
在mySpringBootWeb目录下执行如下命令:
在mySpringBootWeb目录下 使用DockerFile(Web_DockerFile)
#构建镜像命名为blog 最后有一个点(.) 1.1为自定义版本号 切记最后结尾有个点
docker build -f /mySpringBootWeb/Web_DockerFile -t blog:1.1 .
如此一来就会生成一个包含我们项目的小型的容器:
我们可以使用docker命令查看一下我们生成的镜像。
docker iamges
这里我重新生成了blog1.1的镜像,因为之前我已经更新到版本blog1.2了,所以blog1.1似乎是ID和1.2的一样。但是CREATED时间却没有改变,还是2个月前。不过不影响接下来的操作,只是顺带一提。
构建容器,启动Web项目
FROM java:8
MAINTAINER Weikisa
ADD web-0.0.1-SNAPSHOT.jar myBlog.jar
CPOY WeatherSetting.md WeatherSetting.md
EXPOSE 80
ENTRYPOINT ["java","-jar","/myBlog.jar"]
我们可以从DockerFIle里看到,我们已经将我们的项目jar包起了个别名叫myBlog.jar
ENTRYPOINT ["java","-jar","/myBlog.jar"]
最后的命令及包含了我们启动项目的命令,这和我们开头说的java -jar web-0.0.1-SNAPSHOT.jar命令其实一样,容器生成后会自动执行这条命令,这样我们的项目就会在容器中开始启动了。
执行如下docker命令,构建新的容器并启动我们的项目。
docker run -it -p 80:80 --name weikisa_blog blog:1.1
容器会在后台生成并启动,我们可以使用命令查看一下正在运行的容器:
docker ps
可以看到,容器已经正在运行,并且映射到端口80。
OK,由此我们的项目就已经部署成功,接下来只用把Mysql数据库同步(拷贝)过来,就可以在Internet正常访问啦。