Docker是目前主流的容器技术,用它来部署应用非常方便!对于这种主流的容器技术,IDEA官方自然是支持的。最近体验了一个IDEA官方提供的插件,真的很好用。今天我们就以SpringBoot应用的打包部署为例,说说IDEA官方Docker插件的使用!SpringBoot实战电商项目商城(50k+star)地址:https://github.com/macrozheng/mall插件启用由于该插件是IDEA内置插件,所以启用即可它直接在插件设置中;由于我们的Docker环境部署在远程服务器上,还需要配置Docker连接信息,可以在Docker设置中进行配置。看到连接成功提示后,说明配置正确;然后打开IDEA底部的Services面板,双击Docker图标进行连接,连接成功后,就可以管理远程服务器上的Docker容器和镜像了。图片管理点击Images按钮,输入要下载的图片名称和版本号就??可以下载图片了,而且这里IDEA还支持自动提示,真是贴心!右键指定图片打开菜单,我们还可以进行创建容器、查看、删除等常规操作;当然,我们也可以使用Dockerfile构建自己的镜像。这里以我的mall-tiny脚手架项目为例。首先,准备Dockerfile脚本;#镜像需要依赖的基础镜像FROMjava:8#将当前目录下的jar包复制到docker容器的/目录下ADD./mall-tiny-1.0.0-SNAPSHOT.jar/mall-tiny-1.0.0-SNAPSHOT.jar#声明服务运行在8080端口EXPOSE8080#指定docker容器启动时运行的jar包ENTRYPOINT["java","-jar","/mall-tiny-1.0.0-SNAPSHOT.jar"]#指定维护者名称MAINTAINERmacrozheng并打开Dockfile文件,点击左侧按钮新建运行配置;然后选择我们配置的远程Docker服务,配置应用打包目录和镜像名称;然后选择打包镜像,控制平台会输出如下日志,jar包会直接上传到远程服务器,打包成镜像。容器管理图片右键打开菜单,也可以直接创建容器;由于mall-tiny项目需要用到mysql和redis服务,我们可以先启动它们;然后修改创建容器的配置,主要是之前使用dockerrun命令指定的一些配置;直接对比之前使用的dockerrun命令就可以大概知道这些配置的作用;dockerrun-p8080:8080--namemall-tiny\--linkmysql:db\--linkredis:redis\-e'spring.profiles.active'=prod\-v/etc/localtime:/etc/localtime\-v/mydata/app/mall-tiny/logs:/var/logs\-dmall-tiny/mall-tiny:1.0.0-SNAPSHOT可以直接在Log页签中查看容器的运行日志运行过程,真是方便!与容器交互通过容器面板,我们可以查看容器的很多内部信息,比如查看环境变量;也可以查看容器的端口映射配置;也可以查看之前通过dockerinspect命令获取的信息,比如查看容器运行的IP地址;可以直接进入容器执行命令,记得之前使用的dockerexec-it命令。DockerCompose支持使用该插件,也可以通过DockerCompose部署应用。首先,创建一个docker-compose.yml文件。由于mysql容器不是使用DockerCompose创建的,所以这里使用IP访问;版本:'3'服务:redis:图像:redis:5container_name:redis-tiny命令:redis-server--appendonlyyesvolumes:-/mydata/redis-tiny/data:/data#datafilemountports:-6379:6379mall-tiny:image:mall-tiny/mall-tiny:1.0.0-SNAPSHOTcontainer_name:mall-tinylinks:-redis:redisdepends_on:-redisports:-8080:8080environment:-'spring.profiles.active=prod'-'春天。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/swa...总结今天体验了一次IDEA的官方Docker插件可以不用命令行实现远程Docker镜像和容器管理,还支持DockerCompose部署,真的很强大!在平时的开发过程中,使用该插件对SpringBoot应用进行打包、部署和运行,真的非常方便。有兴趣的朋友可以试试!参考官方文档:https://www.jetbrains.com/hel...项目源码地址https://github.com/macrozheng...
