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

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

相关推荐
大道归简2 小时前
Docker 命令从入门到入门:从 Windows 到容器的完美类比
windows·docker·容器
zeruns8023 小时前
如何搭建自己的域名邮箱服务器?Poste.io邮箱服务器搭建教程,Linux+Docker搭建邮件服务器的教程
linux·运维·服务器·docker·网站
爱跑步的程序员~3 小时前
Docker
docker·容器
Jason不在家3 小时前
Flink 本地 idea 调试开启 WebUI
大数据·flink·intellij-idea
菜鸟一皓3 小时前
IDEA的lombok插件不生效了?!!
java·ide·intellij-idea
疯狂的大狗3 小时前
docker进入正在运行的容器,exit后的比较
运维·docker·容器
长天一色3 小时前
【Docker从入门到进阶】01.介绍 & 02.基础使用
运维·docker·容器
伊玛目的门徒4 小时前
docker 搭建minimalist-web-notepad
运维·docker·notepad
theo.wu6 小时前
使用Buildpacks构建Docker镜像
运维·docker·容器
wusam15 小时前
螺蛳壳里做道场:老破机搭建的私人数据中心---Centos下Docker学习04(环境准备)
学习·docker·centos