[Docker系列]IDEA中springboot项目一键docker部署

749 阅读3分钟

之前的文章中(手动创建一个镜像文件)写了在服务器手动创建一个springboot的镜像并运行使用,这次写一个通过IDEA直接打包镜像到服务器docker中运行的教程。

一、安装插件、获得docker支持

(如果Intellij IDEA的版本是2019以上的,自带Docker,就不用安装了) 安装docker integration。

二、连接远程docker

这一步是为了获取远程服务器的docker,一旦连接成功,可以获取其镜像、容器内容,还能对容器进行界面化的操作。 image.png 注意:服务器地址填自己的、该连接采用tcp传输协议、端口号就是2375不用改。 —————————————————————————————————— 手动分割线,现在是写完这篇文章的当天晚上:服务器运营商给我发了这个: image.png 我就去看了看,打开docker发现有好几个不是我自己设置的容器在运行,才知道,肯定是有人看见我的这篇文章然后远程连接上我的服务器了,然后开了后台进程,比如挖矿活动,遂立马更改了端口号,杀死了docker中的容器和删除镜像。所以这里还是不要用默认端口了,要不然别人知道了你的ip地址后就可以远程给你加镜像和开启容器了。 —————————————————————————————————— 如图所示,在下面的提示中发现我连接失败了,原因可能是以下几点: 1.防火墙开启后,却没有开放2375端口。 2.docker下的服务没设置。

解决方法: 1.先检查防火墙设置和端口情况,关闭防火墙或者开放2375端口。 2.修改docker的服务文件

第一条就不讲了,有点Linux基础的很容易完成或者很容易百度到。 第二条:修改docker的服务文件

vi /usr/lib/systemd/system/docker.service

打开docker的服务文件,修改将ExecStart开头的那一行:

ExecStart = / usr / bin / dockerd -H tcp://0.0.0.0:2375 -H Unix://var/run/docker.sock

完成修改后执行下面的操作(命令): systemctl守护程序重新加载:

systemctl daemon-reload

重启docker服务:

service docker restart

重启后docker的服务才会重新生效,端口2375才能用于连接。 成功连接上远程服务器的docker。

三、熟悉IDEA中的Docker界面

可以看到服务器下的容器和镜像信息。 当我在服务端停掉(或者其他操作)一个容器的时候IDEA这边也能及时反馈如图: 甚至IDEA提共了很多功能,如左边的这几个按钮,就是启动停止删除容器的按钮,还可以看容器运行时的日志和绑定的一些静态文件等等信息,很强。

四、开始制作镜像

1.准备好Dockerfile和jar包,放在src/main/Docker目录下。

2.增加docker配置,在右上角的运行配置中设置。

填写内容:如果手动创建镜像那篇文章后,这个配置就很容易看懂了,Dockerfile没变,这里的配置是为了docker run服务的。 包括Dockerfile的位置,镜像名字与标签,容器名字,映射端口号,还有Run options,这个-d是指守护进程的方式运行该镜像。可以通过最下面的Command preview来预览执行语句。 配置好了,clean、package一下项目,随后启动Docker: 成功打包好镜像并运行了: 可以在服务器上看到该镜像和容器: 浏览器成功访问该项目:

到此这篇文章就结束了,以后有时间继续更新!