关于如何将一个springboot项目部署至服务器——docker版

落日映苍穹つ 2024-04-06 14:12 137阅读 0赞

目录

1.springboot项目打包

2.dockerfile的使用


1.springboot项目打包

首先,我们得知道一般形式下springboot的部署形式。一般我们在后端开发中,常常将整个springboot项目打包成war包,或是打包成一个jar包,再将其使用ssh工具传输至服务器中,执行即可。

而本次将springboot项目打包,我们可以采取两种方式;

(1)使用maven项目中的package方式,将项目打包至target文件夹中,如下:

b3a8277478d746bfae5031d8173fbe82.png

fe3bc8789c25498f8c0a606a80d473b0.png

然后,我们可以使用xfpt或是xshell等shell工具,将jar打包传输进服务器中。

(2)使用Alibaba cloud tooltik工具。

Alibaba Cloud Toolkit 是阿里云针对IDE平台为开发者提供的一款插件,用于帮助开发者高效开发并部署适合在云端运行的应用,通过图形配置的方式连接到云端部署环境并将应用程序快速部署到云端。

首先,我们需要在IDE的下载该插件:

7941e72893584f6e8e80777e9841cf50.png

然后,我们在tools中点开该工具;连接服务器:

2888fcb6245b429780478377f47cd9b0.png

接着,点击deploy to host,将springboot项目打包传输至服务器:

d287c12ad1d84b80bd27bca507b42f4d.png

而在在运行Alibaba Cloud Toolkit前我们需要点击Advanced填写一些命令:

252dcb0dceb24ce5b26cd9566e37d440.png

该命令可以自动帮我们打包springboot项目成jar包。

同时,需要在pom.xml文件中进行一定的配置,否则可能无法启动:

  1. <build>
  2. <plugins>
  3. <plugin>
  4. <groupId>org.springframework.boot</groupId>
  5. <artifactId>spring-boot-maven-plugin</artifactId>
  6. <version>2.1.0.RELEASE</version>
  7. <configuration>
  8. <fork>true</fork>
  9. <addResources>true</addResources>
  10. <!-- 指定该Main Class为全局的唯一入口 -->
  11. <mainClass>com.springcloud.DockerMain</mainClass>
  12. </configuration>
  13. <executions>
  14. <execution>
  15. <goals>
  16. <goal>repackage</goal><!--可以把依赖的包都打包到生成的Jar包中-->
  17. </goals>
  18. </execution>
  19. </executions>
  20. </plugin>
  21. </plugins>
  22. </build>

2.dockerfile的使用

将jar文件打包至服务器中后,我们将使用dockerfile形式部署springboot项目,而不使用较为不安全的java -jar形式运行jar包。

我们需要在jar包存放的文件夹中编写Dockerfile文件:

dd05ff89696949c1ad3ed92fe06904e2.png

  1. FROM openjdk:8-oracle
  2. MAINTAINER seven
  3. # 在主机 /var/lib/docker目录下创建一个临时文件,并链接到容器的 /tmp
  4. VOLUME /tmp
  5. # 将jar包添加到容器中,并命名为 springboot_docker.jar
  6. ADD docker_boot-1.0-SNAPSHOT.jar /springboot_docker.jar
  7. # 运行jar包
  8. RUN bash -c 'touch /springboot_docker.jar'
  9. ENTRYPOINT ["java", "-jar", "/springboot_docker.jar"]
  10. # SpringBoot项目配置的端口号为6001,需要将6001暴露出去
  11. EXPOSE 6001

dockerfile中, FROM openjdk:8-oracle 表示以java8环境为基础.

此处注意jar包名称需对应,否则将会添加失败。

执行以下代码,生成springboot项目镜像:

  1. docker build -t docker_boot:1.0 .

运行镜像;

  1. docker run -d -p 6001:6001 docker_boot:1.0

至此,springboot成功打包至服务器,并以docker形式挂靠在服务器后台启动。

发表评论

表情:
评论列表 (有 0 条评论,137人围观)

还没有评论,来说两句吧...

相关阅读