Docker - 一键部署项目,IDEA 官方 Docker 插件真香!

本文介绍了如何在IntelliJIDEA中使用官方Docker插件,从插件启用、远程Docker配置,到镜像管理和容器操作,以及Dockerfile的使用和DockerCompose部署,展示了其在SpringBoot应用开发中的便捷性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Docker作为目前主流的容器技术,使用它部署应用是非常方便的!对于这款主流容器技术,IDEA官方自然也是有所支持的。最近体验了一把官方IDEA插件,确实非常好用,今天我们以SpringBoot应用的打包部署为例,来聊聊IDEA官方Docker插件的使用!

插件启用

  • 由于该插件为IDEA内置插件,直接在插件设置中启用就好了

  • 由于我们的Docker环境部署在远程服务器上,我们还需要配置下Docker的连接信息,在Docker设置里配置即可,看到连接成功提示后就表示配置正确了

  • 接下来打开IDEA底部的Services面板,双击Docker图标进行连接,连接成功后就可以对远程服务器上的Docker容器和镜像进行管理了

镜像管理

  • 点击Images按钮,输入需要下载的镜像名称和版本号就可以下载镜像了,这里IDEA还支持自动提示,实在太贴心了!

  • 右键指定镜像打开菜单,我们还可以对其进行创建容器、查看、删除等常规操作

  • 当然我们还可以使用Dockerfile来构建自己的镜像,这里以我的mall-tiny 脚手架项目为例,首先准备好Dockerfile脚本
# 该镜像需要依赖的基础镜像
FROM java:8

# 将当前目录下的jar包复制到docker容器的/目录下
ADD ./mall-tiny-1.0.0-SNAPSHOT.jar /mall-tiny-1.0.0-SNAPSHOT.jar

# 声明服务运行在8080端口
EXPOSE 8080

# 指定docker容器启动时运行jar包
ENTRYPOINT ["java", "-jar","/mall-tiny-1.0.0-SNAPSHOT.jar"]

# 指定维护者的名字
MAINTAINER macrozheng
  • 然后打开Dockfile文件,点击左侧按钮选择创建新的运行配置

  • 接下来选择我们配置好的远程Docker服务,配置好应用打包目录及镜像名称

  • 然后选择打包镜像,控制台将输出如下日志,jar包会直接上传到远程服务器并打包成镜像

容器管理

  • 右键镜像打开菜单,还可以直接创建容器

  • 由于mall-tiny项目需要用到mysql和redis服务,我们可以先启动它们

  • 然后修改创建容器的配置,主要就是一些之前使用docker run命令的指定的一些配置

  • 大家直接对照下之前使用的 docker run 命令,大概就能知道这些配置的作用了
docker run -p 8080:8080 --name mall-tiny \
--link mysql:db \
--link redis:redis \
-e 'spring.profiles.active'=prod \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/mall-tiny/logs:/var/logs \
-d mall-tiny/mall-tiny:1.0.0-SNAPSHOT
  • 运行过程中可以直接在Log标签中查看容器的运行日志,这确实很方便!

与容器交互

  • 通过容器面板我们可以查看到很多容器内部信息,比如查看环境变量

  • 还可以查看容器的端口映射配置

  • 还可以查看之前通过docker inspect命令获取的信息,比如查看容器运行的IP地址

  • 还可以直接进入容器内部去执行命令,还记得之前使用的docker exec -it命令么

Docker Compose 支持

  • 使用该插件也可以通过Docker Compose来部署应用,首先创建docker-compose.yml文件,由于mysql容器没有使用Docker Compose来创建,这里改用IP来访问

version: '3'
services:
  redis:
    image: redis:5
    container_name: redis-tiny
    command: redis-server --appendonly yes
    volumes:
      - /mydata/redis-tiny/data:/data #数据文件挂载
    ports:
      - 6379:6379
  mall-tiny:
    image: mall-tiny/mall-tiny:1.0.0-SNAPSHOT
    container_name: mall-tiny
    links:
      - redis:redis
    depends_on:
      - redis
    ports:
      - 8080:8080
    environment:
      - 'spring.profiles.active=prod'
      - 'spring.datasource.url=jdbc:mysql://192.168.3.105:3306/mall_tiny?useUnicode=true&characterEncoding=utf-8&serverTimezone=Asia/Shanghai&useSSL=false'
      - 'spring.redis.host=redis'
    volumes:
      - /etc/localtime:/etc/localtime
      - /mydata/app/mall-tiny/logs:/var/logs
  • 然后直接点击docker-compose.yml文件箭头即可将应用部署到远程服务器,确实很方便!

  • 部署完成后即可访问项目的Swagger页面,访问地址:http://192.168.3.105:8080/swagger-ui/

总结

今天体验了一把IDEA的官方Docker插件,不使用命令行就可以实现远程Docker镜像与容器的管理,还支持Docker Compose部署,功能确实很强大!在平时开发过程中,使用这款插件来打包、部署、运行SpringBoot应用确实很方便,感兴趣的小伙伴可以尝试下它!

参考资料

官方文档:https://www.jetbrains.com/help/idea/docker.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

陆克和他的代码

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值