资讯 小学 初中 高中 语言 会计职称 学历提升 法考 计算机考试 医护考试 建工考试 教育百科
栏目分类:
子分类:
返回
空麓网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
空麓网 > 计算机考试 > 软件开发 > 后端开发 > Java

idea整合docker快速部署springboot应用

Java 更新时间: 发布时间: 计算机考试归档 最新发布

idea整合docker快速部署springboot应用

文章目录
    • 一、前言
    • 二、环境及工具
    • 三、安装docker以及配置远程连接
    • 四、idea连接远程docker
    • 五、springboot项目配置docker

一、前言

容器化一词相信大家已经不陌生了,听到它我们可能会想到docker、k8s、jenkins、rancher等等。那么今天我来说一下idea如何使用docker快速部署springboot应用。

二、环境及工具
  • windows10(开发)
  • centos 7.6 (部署)
  • idea
  • docker
  • xshell
三、安装docker以及配置远程连接

安装docker步骤网上有很多,在这里还是再说一下:

  • 先更新一波
sudo yum update
  • 安装最新的docker
yum install docker -y

  • 启动docker
systemctl start docker

使用docker images可以查看镜像状态,如下图所示代表启动成功(目前里面没有镜像)

如果是如下图所示,则代表启动失败

  • 开启docker远程连接
    编辑docker.service文件
vim /lib/systemd/system/docker.service

打开后,内容如下所示:

在绿色光标那一行添加如下:

# centos7及以上
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
# centos7以下
ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375

这里我使用其他端口,如12377,改完后,内容如下图所示:

保存完毕后对配置文件进行重载,并重启docker:

systemctl daemon-reload 
systemctl restart docker

为了检查12377端口是否被监听,执行lsof -i:12377

如果使用的是云服务器则需要开启12377防火墙规则,如果使用默认的2375端口,只是虚拟机或者内网使用倒也无所谓,如果暴露在公网,估计第二天就会发现你的cpu爆满,挂载了大量马、矿程序,有时间的同学可以进一步配置安全配置,这里可以自行搜索。

四、idea连接远程docker
  • 安装插件docker
  • 配置连接
    安装完毕后,找到setting中如下图位置

    在TCP socket配置你的docker地址,格式如下:
    tcp://ip:12377,填写完后,稍等一小会儿,下边会进行连接测试,连接成功后会如上图显示连接成功。
五、springboot项目配置docker
  • pom配置
    博主当前项目打包方式是jar包,pom中properties配置如下

    
    springboot

build中配置如下:

    
        docker-demo
        
            
                org.springframework.boot
                spring-boot-maven-plugin
                ${spring-boot.version}
            
            
                
                com.spotify
                docker-maven-plugin
                1.0.0
                
                    http://ip:12377
                    ${docker.image.prefix}/${project.artifactId}
                    src/main/docker
                    
                        
                            /
                            ${project.build.directory}
                            ${project.build.finalName}.jar
                        
                    
                
            
        
    

resources是为了找到打好的jar,dockerDirectory是为了找到项目中配置的Dockerfile,imageName则是镜像名称

  • 创建Dockerfile(注意Dockerfile不是驼峰命名)
    结构如下图所示

    Dockerfile文件内容:
FROM williamyeh/java8 # 源可以使用 docker search java8搜索得到的第一个源
VOLUME /tmp
ADD docker-demo.jar /app/docker-demo.jar
#COPY target/demo-0.0.1-SNAPSHOT.jar app.jar
ENTRYPOINT ["java", "-jar", "/app/docker-demo.jar"]

FROM :指定基础镜像,必须为第一个命令
VOLUME : 用于指定持久化目录
ADD : 将本地文件添加到容器中,tar类型文件会自动解压(网络压缩资源不会被解压),可以访问网络资源,类似wget
ENTRYPOINT : 配置容器,使其可执行化

其余指令可以自行搜索

  • 到此为止,需要的配置已经完成,接下来开始运行

  • 找到idea右侧的maven窗口,执行clean

  • clean完毕后再执行package进行打包

  • 然后执行如图所示的docker:build

    在这个过程中会在target目录下创建docker文件夹,并把Dockerfile文件和生成的jar包拷贝下来,然后根据Dockerfile中的配置拉取基础镜像,传送jar到服务器指定位置,再进行镜像制作。BUILD SUCCESS后点击idea底部的Services

窗口如下

双击Docker进行连接,连接成功后我们能够看到镜像和容器运行状况:

然后就可以右击springboot/**:latest镜像创建容器

弹出create选项,进行创建配置

在里面配置容器名称以及运行选项,最后点击run运行容器。在Services窗口中我们能够看到容器的运行日志:

到此为止,idea整合docker快速部署springboot应用便完成了,后边有空博主会总结下jenkins+k8s+docker的使用。

感谢观看,如有错误,请及时指出

转载请注明:文章转载自 http://www.konglu.com/
本文地址:http://www.konglu.com/it/350973.html
免责声明:

我们致力于保护作者版权,注重分享,被刊用文章【idea整合docker快速部署springboot应用】因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理,本文部分文字与图片资源来自于网络,转载此文是出于传递更多信息之目的,若有来源标注错误或侵犯了您的合法权益,请立即通知我们,情况属实,我们会第一时间予以删除,并同时向您表示歉意,谢谢!

我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2023 成都空麓科技有限公司

ICP备案号:蜀ICP备2023000828号-2