目录
- 一、前言
- 二、环境及工具
- 三、安装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
启动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>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内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!