IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署

网友投稿 260 2022-12-05

IDEA2021.2配置docker如何将springboot项目打成镜像一键发布部署

之前博客已经谈到配置docker远程链接服务,这里再介绍如何在IDEA中配置docker,将项目部署到服务器上

前文

Docker之开启远程访问的实现

idea2021激活教程

https://yuque.com/docs/share/b996d27e-c888-45f2-bb1e-f6db5efe2485?#

https://jb51.net/article/178193.htm

去插件中心安装Docker插件,安装完重启IDEA。这个简单

配置连接远程docker,打开Docker插件,新建连接,在Engine API URL处输入服务器IP地址:2375。出现Connection successful代表链接成功,否则需要看看ip端口是否是通的

新建一个springboot项目,在pom文件中docker-maven-plugin插件,直接复制

com.spotify

docker-maven-plugin

1.2.1

build-image

package

build

clover/${project.artifactId}

latest

${project.basedir}/src/main/resources/docker

http://192.168.6.215:2375

/

${project.build.directory}

${project.build.finalName}.jar

添加个url接口,方便访问:

@SpringBootApplication(exclude={DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class})

@RestController

public class DockerdemoApplication {

public static void main(String[] args) {

SpringApplication.run(DockerdemoApplication.class, args);

}

@RequestMapping("/test")

public String test(){

return "1. Hello world ! " + new SimpleDateFormat(" [yyyy-mm-dd HH:mm:ss]").format(new Date());

}

}

在项目根目录新建Dockerfile文件

# Docker image for springboot application

# VERSION 0.0.1

# Author: bolingcavalry

### 基础镜像,使用alpine操作系统,openjkd使用8u201

FROM openjdk:8u201-jdk-alpine3.9

MAINTAINER BolingCavalry

#系统编码

ENV LANG=C.UTF-8 LC_ALL=C.UTF-8

#声明一个挂载点,容器内此路径会对应宿主机的某个文件夹

VOLUME /tmp

#应用构建成功后的jar文件被复制到镜像内,名字也改成了app.jar

ADD target/dockerplugindemo-0.0.1-SNAPSHOT.jar app.jar

#启动容器时的进程

ENTRYPOINT ["java","-jar","/app.jar"]

#暴露8080端口

EXPOSE 8080

在IDEA新建dockerfile启动文件

Dockerfile配置详情如下图所示,请按照图中的说明进行设置,确保每个红框中都会执行到:

上图中最下面的那个"Run Maven Goal"点击后,会弹出一个小窗口 ,用来输入要执行的maven命令,这里输入clean package -U -DskipTests,表示每次在构建镜像之前,都会将当前工程清理掉并且重新编译构建:

设置完成后,点击下图红框中的绿色三角按钮,执行此配置:

发布不成功可能会因为idea不是管理员权限打开的,笔者就遇到这种情况,发布失败,连不上服务器docker。或者防火墙,宿主tOquAu机的端口没写对等等

在服务器上执行docker image可以查看镜像情况

在浏览器上访问地址:http://192.168.6.215:8080/test,得到响应如下图所示,可见应用在容器中正常运行:

如果修改了代码,再次点击上图的三角形启动,就再次发布部署了

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java如何实现socket连接方法封装
下一篇:idea中加入git版本控制的方法及步骤详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~