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

目录 一、前言 二、环境及工具 三、安装docker以及配置远程连接 四、idea连接远程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

%小知识:idea整合docker快速部署springboot应用的详细过程-猿站网-插图

启动docker

systemctl start docker

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

%小知识:idea整合docker快速部署springboot应用的详细过程-1猿站网-插图

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

%小知识:idea整合docker快速部署springboot应用的详细过程-2猿站网-插图

开启docker远程连接

编辑docker.service文件

vim /lib/systemd/system/docker.service

打开后,内容如下所示:

%小知识:idea整合docker快速部署springboot应用的详细过程-3猿站网-插图

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

# 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,改完后,内容如下图所示:

%小知识:idea整合docker快速部署springboot应用的详细过程-4猿站网-插图

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

systemctl daemon-reload systemctl restart docker

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

%小知识:idea整合docker快速部署springboot应用的详细过程-5猿站网-插图

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

四、idea连接远程docker

安装插件docker

%小知识:idea整合docker快速部署springboot应用的详细过程-6猿站网-插图

配置连接

安装完毕后,找到setting中如下图位置

%小知识:idea整合docker快速部署springboot应用的详细过程-7猿站网-插图

在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>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不是驼峰命名)

结构如下图所示

%小知识:idea整合docker快速部署springboot应用的详细过程-8猿站网-插图

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

%小知识:idea整合docker快速部署springboot应用的详细过程-9猿站网-插图

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

%小知识:idea整合docker快速部署springboot应用的详细过程-10猿站网-插图

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

%小知识:idea整合docker快速部署springboot应用的详细过程-11猿站网-插图

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

%小知识:idea整合docker快速部署springboot应用的详细过程-12猿站网-插图

窗口如下

%小知识:idea整合docker快速部署springboot应用的详细过程-13猿站网-插图

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

%小知识:idea整合docker快速部署springboot应用的详细过程-14猿站网-插图

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

%小知识:idea整合docker快速部署springboot应用的详细过程-15猿站网-插图

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

%小知识:idea整合docker快速部署springboot应用的详细过程-16猿站网-插图

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

%小知识:idea整合docker快速部署springboot应用的详细过程-17猿站网-插图

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

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

原文链接:https://blog.csdn.net/weixin_42173451/article/details/120974734

声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Jenkins Docker静态agent节点的构建过程

2023-3-14 22:14:33

建站知识

小知识:在Docker中更快地构建Maven项目

2023-3-14 22:29:39

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索