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

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

相关推荐
林疏safe15 分钟前
灯塔部署云服务器docker 部署方式,以及忘记密码如何查找
运维·服务器·docker
木卫二号Coding20 分钟前
affine+docker+postgresql+备份数据库
数据库·docker·容器
檀越剑指大厂27 分钟前
查看 Docker 镜像详情的几种常用方法
docker·容器·eureka
java_logo1 小时前
Webtop Docker 容器化部署指南:基于浏览器的Linux桌面环境
linux·docker·容器·webtop·webtop部署教程·docker部署webtop·linux桌面
技术小李...3 小时前
docker下mysql更改密码后WordPress提示无法连接数据库问题
运维·docker·容器
慧都小项4 小时前
JAVA自动化测试平台Parasoft Jtest 插件Eclipse/IDEA安装教程
java·软件测试·测试工具·eclipse·intellij-idea
精神病不行计算机不上班5 小时前
[Java Web]在IDEA中完整实现Servlet的示例
java·servlet·tomcat·html·intellij-idea·web
JPX-NO5 小时前
windows下编程IDE使用docker搭建的rust开发环境(Linux)
ide·windows·docker·rust
快乐就去敲代码@!5 小时前
Boot Cache Star ⭐(高性能两级缓存系统)
spring boot·redis·后端·缓存·docker·压力测试
爱学大树锯5 小时前
在Docker环境中安装RabbitMQ延迟消息插件实战记录
docker·容器·rabbitmq