我的编程空间,编程开发者的网络收藏夹
学习永远不晚

idea整合docker快速部署springboot应用的详细过程

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

idea整合docker快速部署springboot应用的详细过程

一、前言

容器化一词相信大家已经不陌生了,听到它我们可能会想到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配置如下


<properties>
    <!--properties节点中设置docker镜像的前缀“springboot”-->
    <docker.image.prefix>springboot</docker.image.prefix>
</properties>

build中配置如下:


 <build>
        <finalName>docker-demo</finalName>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>${spring-boot.version}</version>
            </plugin>
            <plugin>
                <!-- docker-maven插件-->
                <groupId>com.spotify</groupId>
                <artifactId>docker-maven-plugin</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <dockerHost>http://ip:12377</dockerHost>
                    <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
                    <dockerDirectory>class="lazy" data-src/main/docker</dockerDirectory>
                    <resources>
                        <resource>
                            <targetPath>/</targetPath>
                            <directory>${project.build.directory}</directory>
                            <include>${project.build.finalName}.jar</include>
                        </resource>
                    </resources>
                </configuration>
            </plugin>
        </plugins>
    </build>

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的使用。

到此这篇关于idea整合docker快速部署springboot应用的文章就介绍到这了,更多相关idea docker部署springboot内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

idea整合docker快速部署springboot应用的详细过程

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

idea如何整合docker快速部署springboot应用

小编给大家分享一下idea如何整合docker快速部署springboot应用,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!一、前言容器化一词相信大家已经不陌生了
2023-06-25

在Docker快速部署Node.js应用的详细步骤

一、前言 可能还有一些同学不了解docker这个项目,docker是由go语言编写的,一个快速部署的轻量级虚拟技术项目,他允许开发人员将自己的程序和运行环境一起打包,制作成一个docker的image(镜像),这样部署到服务器上,也只需要下
2022-06-04

docker swarm快速部署redis分布式集群的详细过程

这篇文章主要介绍了docker swarm快速部署redis分布式集群,只需要通过docker-compose.yml文件和一个启动命令就完成redis分布式部署的方式,让其分别部署在不同机器上,并实现集群搭建,需要的朋友可以参考下
2022-11-13

云原生使用Docker部署mysql数据库的详细过程

目录一、检查系统版本二、检查docker状态1.检查docker版本2.检查docker状态三、在docker hub搜索mysql四、下载mysql镜像五、创建mysql容器1.创建数据目录2.运行mysql容器3.查看mysql容器状态
2023-03-23

使用Docker Compose、Nginx和MariaDB实现PHP应用程序的快速部署流程

摘要:本文将介绍如何使用Docker Compose、Nginx和MariaDB实现快速部署PHP应用程序的流程。我们将使用Docker Compose来定义和管理容器化应用程序的配置,Nginx作为Web服务器,MariaDB作为数据库。
2023-10-21

Docker Compose、Nginx和MariaDB的最佳实践:部署PHP应用程序的流程整合

引言:随着云计算和容器化技术的迅速发展,Docker已成为了现代化开发和部署应用程序的一种重要方式。在众多的Docker工具中,Docker Compose作为一个编排容器服务的工具,被广泛应用于多容器应用的部署和管理。而Nginx和Mar
2023-10-21

编程热搜

目录