IDEA集成Docker实现快捷部署

本文已收录于专栏 《运维》


目录

背景介绍

在我们手动通过Docker部署项目的时候,都是通过把打包好的jar包放到服务器上并且在服务器上编写对应的DockerFile,然后在通过docker bulid命令根据jar包和Docker File生成对应的镜像,然后通过docker start或者docker run运行镜像产生容器来提供服务。

优势特点

IDEA集成Docker快捷部署的好处:

1. 提高开发效率:通过IDEA集成Docker,可以在开发过程中直接部署和调试Docker容器,无需手动操作Docker命令行工具,节省时间并提高开发效率。

2. 便捷调试:快捷部署功能可以帮助开发人员快速部署运行容器,并在IDEA中使用调试器进行调试,方便定位和解决问题。

3. 一体化开发环境:集成Docker的快捷部署使得开发人员可以在IDEA中完成代码编写、构建、部署和调试等操作,提供了一体化的开发环境,减少了切换工具之间的复杂性。

4. 持续集成部署:可以结合CI/CD工具,实现持续集成和部署,通过IDEA集成Docker进行快速部署,更方便实现自动化部署流程。

5. 方便分享和共享:通过快捷部署功能,可以方便地将开发环境打包成镜像并分享给团队成员,提高团队协作效率。

操作步骤

一、修改Docker配置

  1. 修改dcoker.service文件开启远程访问
xml 复制代码
vim /lib/systemd/system/docker.service
xml 复制代码
将
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
替换为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
  1. 重启Docker服务
java 复制代码
systemctl daemon-reload
systemctl restart docker
  1. 服务器防火墙开启2375端口
java 复制代码
firewall-cmd --add-port=2375/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --list-ports
  1. 测试是否可以远程连接
    在控制台输入:curl http://127.0.0.1:2375/version,会显示下面的信息

    在自己电脑上的浏览器中输入服务器的ip地址+端口号+/version

    如果浏览器上不能访问,那么需要在服务器的管理控制台添加安全组规则,我的服务器是华为云的,添加开放2375端口。然后在访问浏览器查看是否访问成功。

二、配置Docker插件

  1. 点击File -> Settring连接docker服务,显示Connection successful表示连接成功
  2. 配置成功之后在下方的Services中可以看到Docker中的镜像和容器

三、编写Maven插件

  1. 修改项目的pom.xml文件
xml 复制代码
  <properties>
    <!--docker镜像的前缀-->
    <docker.image.prefix>docker</docker.image.prefix>
  </properties>
xml 复制代码
<plugin>
     <groupId>com.spotify</groupId>
     <artifactId>docker-maven-plugin</artifactId>
     <version>1.0.0</version>

     <configuration>
           <!--远程Docker的地址-->
           <dockerHost>http://XXX.XXX.XXX.XXX:2375</dockerHost>
           <!--镜像名称,前缀/项目名-->
           <imageName>${docker.image.prefix}/${project.artifactId}</imageName>
           <!--DockerFile所在的位置-->
           <dockerDirectory>src/main/java/com/example/dockerdemo/docker</dockerDirectory>
          		 <resources>
                     <resource>
                         <targetPath>/</targetPath>
                         <directory>${project.build.directory}</directory>
                         <include>${project.build.finalName}.jar</include>
                     </resource>
                 </resources>
      </configuration>
 </plugin>
  1. 新建docker文件夹,将编写好的Dockerfile放到这个文件夹

四、构建Docker镜像

  1. 一次使用以下命令构建镜像
xml 复制代码
clean
package
docker:build
  1. 根据构建的日志信息查看是否构建成功
  2. 可以点开Service中的Docker查看已经构建好的镜像

五、创建Docker容器

  1. Docker控制台选中镜像右键,点击创建镜像,填写参数,点击run

  2. 可以通过启动的日志信息来判断是否启动成功

  3. 启动成功之后可以在Containers

总结提升

IDEA集成Docker的快捷部署为开发人员提供了更加便捷和高效的开发环境,有助于提升团队的开发效率和协作能力。通过灵活利用这一功能,开发人员可以更快速地开发、调试和部署应用程序,从而提高开发工作的效率和质量。

🎯 此文章对你有用的话记得留言+点赞+收藏哦🎯

相关推荐
全能全知者21 分钟前
docker快速安装与配置mongoDB
mongodb·docker·容器
狂放不羁霸30 分钟前
idea | 搭建 SpringBoot 项目之配置 Maven
spring boot·maven·intellij-idea
Re.不晚1 小时前
Java入门15——抽象类
java·开发语言·学习·算法·intellij-idea
阿尔帕兹2 小时前
构建 HTTP 服务端与 Docker 镜像:从开发到测试
网络协议·http·docker
customer083 小时前
【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·spring cloud·开源·intellij-idea
ZHOU西口4 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
神里大人5 小时前
idea、pycharm等软件的文件名红色怎么变绿色
java·pycharm·intellij-idea
想进大厂的小王6 小时前
Spring-cloud 微服务 服务注册_服务发现-Eureka
微服务·eureka·服务发现
尘浮生8 小时前
Java项目实战II基于Spring Boot的光影视频平台(开发文档+数据库+源码)
java·开发语言·数据库·spring boot·后端·maven·intellij-idea
川石课堂软件测试9 小时前
性能测试|docker容器下搭建JMeter+Grafana+Influxdb监控可视化平台
运维·javascript·深度学习·jmeter·docker·容器·grafana