> 文章列表 > 【Docker】11、IDEA集成Docker插件实现一键部署SpringBoot项目

【Docker】11、IDEA集成Docker插件实现一键部署SpringBoot项目

【Docker】11、IDEA集成Docker插件实现一键部署SpringBoot项目

日常开发项目的过程中,我们每次需要部署线上的时候,都需要安装一大堆的运行环境,例如:JDK、MySQL、Redis 等,非常花费时间、我们可以使用 Docker 的容器技术,方便快捷地搭建项目启动所需要的运行环境,本文介绍在开发工具 Idea 中安装 Docker 插件实现一键部署 SpringBoot 项目。

1、安装 Docker

可参考文章:【Docker】1、Centos安装Docker服务,需要开启 docker 远程连接

2、Idea 安装 Docker 插件

【Docker】11、IDEA集成Docker插件实现一键部署SpringBoot项目

搜索:“Docker” 进行安装即可

3、连接 Docker 服务器

File -> Setting -> Build,Execution,Deployment -> Docker

【Docker】11、IDEA集成Docker插件实现一键部署SpringBoot项目

点击 + 号,添加 Docker 连接配置

【Docker】11、IDEA集成Docker插件实现一键部署SpringBoot项目

输入 Docker 服务器的 IP + 端口,如果配置了证书,可在 Certificates folder 中填入,如图所示,Connection successful 表示连接成功

4、准备 Dockerfile 文件

  • 1、Dockerfile 文件
# 基础镜像
FROM openjdk:8-jre# 维护者信息
MAINTAINER xxx <xxxxxxxxxx@qq.com># 设置容器时区为当前时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \\&& echo 'Asia/Shanghai' >/etc/timezone# /tmp 目录作为容器数据卷目录,SpringBoot内嵌Tomcat容器默认使用/tmp作为工作目录,任何向 /tmp 中写入的信息不会记录进容器存储层
# 在宿主机的/var/lib/docker目录下创建一个临时文件并把它链接到容器中的/tmp目录
VOLUME /tmp# 复制主机文件至镜像内,复制的目录需放置在 Dockerfile 文件同级目录下
ADD target/test.jar app.jar# 容器启动执行命令
ENTRYPOINT ["java", "-Xmx128m", "-Djava.security.egd=file:/dev/./urandom", "-jar", "/app.jar"]# 声明容器提供服务端口
EXPOSE 8080
  • 2、pom.xml 文件

pom.xml 文件打包插件添加 finalName 属性

<build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins>
</build>

这样打包出来的 jar 包就不会携带版本号,不会与 Dockerfile 配置的 jar 包名称对应不上了

5、Run/Debug Configurations 配置

在这里插入图片描述

  • Server:表示使用哪台 Docker 服务器
  • Dockerfile:表示 Dockerfile 文件的位置
  • Image tag:镜像的名称
  • Container name:容器名称
  • Environment variables:运行时参数
  • Run options:容器启动参数
  • Maven Goal:配置项目打包命令,clean package -U -DskipTests,表示先 clean 再 package,跳过测试

6、打包部署

执行我们上一步添加的 Run/Debug Configurations,项目便开始打包、并自动推送 Docker 服务器构建容器启动运行

如您在阅读中发现不足,欢迎留言!!!

保险知识