关于如何将一个springboot项目部署至服务器——docker版
使用docker部署springboot项目,并运行
目录
1.springboot项目打包
首先,我们得知道一般形式下springboot的部署形式。一般我们在后端开发中,常常将整个springboot项目打包成war包,或是打包成一个jar包,再将其使用ssh工具传输至服务器中,执行即可。
而本次将springboot项目打包,我们可以采取两种方式;
(1)使用maven项目中的package方式,将项目打包至target文件夹中,如下:
然后,我们可以使用xfpt或是xshell等shell工具,将jar打包传输进服务器中。
(2)使用Alibaba cloud tooltik工具。
Alibaba Cloud Toolkit 是阿里云针对IDE平台为开发者提供的一款插件,用于帮助开发者高效开发并部署适合在云端运行的应用,通过图形配置的方式连接到云端部署环境并将应用程序快速部署到云端。
首先,我们需要在IDE的下载该插件:
然后,我们在tools中点开该工具;连接服务器:
接着,点击deploy to host,将springboot项目打包传输至服务器:
而在在运行Alibaba Cloud Toolkit前我们需要点击Advanced填写一些命令:
该命令可以自动帮我们打包springboot项目成jar包。
同时,需要在pom.xml文件中进行一定的配置,否则可能无法启动:
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>2.1.0.RELEASE</version>
<configuration>
<fork>true</fork>
<addResources>true</addResources>
<!-- 指定该Main Class为全局的唯一入口 -->
<mainClass>com.springcloud.DockerMain</mainClass>
</configuration>
<executions>
<execution>
<goals>
<goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
2.dockerfile的使用
将jar文件打包至服务器中后,我们将使用dockerfile形式部署springboot项目,而不使用较为不安全的java -jar形式运行jar包。
我们需要在jar包存放的文件夹中编写Dockerfile文件:
FROM openjdk:8-oracle
MAINTAINER seven
# 在主机 /var/lib/docker目录下创建一个临时文件,并链接到容器的 /tmp
VOLUME /tmp
# 将jar包添加到容器中,并命名为 springboot_docker.jar
ADD docker_boot-1.0-SNAPSHOT.jar /springboot_docker.jar
# 运行jar包
RUN bash -c 'touch /springboot_docker.jar'
ENTRYPOINT ["java", "-jar", "/springboot_docker.jar"]
# SpringBoot项目配置的端口号为6001,需要将6001暴露出去
EXPOSE 6001
dockerfile中, FROM openjdk:8-oracle 表示以java8环境为基础.
此处注意jar包名称需对应,否则将会添加失败。
执行以下代码,生成springboot项目镜像:
docker build -t docker_boot:1.0 .
运行镜像;
docker run -d -p 6001:6001 docker_boot:1.0
至此,springboot成功打包至服务器,并以docker形式挂靠在服务器后台启动。
更多推荐
所有评论(0)