欢迎访问我的GitHub
这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos
- 本文是《IDEA的Docker插件实战》系列的第三篇,IDEA的Docker插件一共有三种:Dockerfile、Docker Image、Docker-compose,前面我们已熟悉了Dockerfile、Docker Image,今天来实战Docker-compose。
 
开发环境
- 开发环境操作系统:macOS Mojave
 - IntelliJ IDEA: 2018.3.5 (Ultimate Edition)
 - Docker服务所在环境:Ubuntu 18.04.2 LTS
 - Docker:19.03.1(Community)
 
- 注意:IEDA所在电脑也要安装Docker和docker-compose
 
准备工作
- 
在IDEA上建好与远程Docker服务的连接,如下图所示,IEDA连接的Docker服务部署在IP为192.168.50.75的服务器上:

 - 
注意: 远程Docker所在电脑上,此时没有任何Docker镜像和容器,空空如也
 
使用Docker-compose插件
- 
该插件的作用相对简单:让远程Docker按照指定的docker-compose.yml编排运行容器;
 - 
接下来的实战会创建一个docker-compose.yml,里面编排了三个容器:Nacos、simple-provider、simple-consumer,这三个容器组成了spring-cloud-alibaba的注册中心体验环境,其功能如下图所示:

 - 
本文不会对上述功能的细节做过多描述,如果您对上图的镜像的细节感兴趣,可以参考《Docker下,两分钟极速体验Nacos》
 - 
准备工作已完成,可以开始实战:
 - 
新建一个maven工程;
 - 
在pom.xml文件所在目录创建文件docker-compose.yml,内容如下:
 
version: '2'
services:
  nacos:
    image: bolingcavalry/nacosserver:0.0.1
    container_name: nacos
    restart: always
    ports:
      - '8848:8848'
  provider:
    image: bolingcavalry/nacossimpleprovider:1.0-SNAPSHOT
    links:
      - nacos:nacoshost
    depends_on:
      - nacos
    restart: always
  consumer:
    image: bolingcavalry/nacossimpleconsumer:1.0-SNAPSHOT
    links:
      - nacos:nacoshost
    container_name: consumer
    depends_on:
      - nacos
    ports:
      - '8080:8080'
    restart: always
- 
点击下图红框中的"Edit Configurations",新建一个配置:

 - 
如下图,新建一个 Docker-compose 配置:

 - 
在新的配置页面,填写下图所示的信息:

 - 
在主窗口选中刚才的配置,点击下图红框2中的绿色三角形,开始执行此配置:

 - 
如下图所示,由于Docker所在机器上没有docker-compose.yml中指定的镜像,因此会立即开始下载:

 - 
启动成功后,主窗口信息如下:

 - 
验证容器服务是否正常,Docker所在服务器IP地址是 192.168.50.75 ,所以访问地址:http://192.168.50.75:8080/test ,如下图,响应数据证明三个容器都是正常的(第二行数据来自provider返回给consumer的):

 - 
除了运行docker-compose.yml中的所有容器,Docker-compose插件还能指定服务运行,再新建一个Docker-compose配置,使用相同的docker-compose.yml文件,和前面不同的是service这里填入的是其中的一个"provider":

 - 
运行这个新的配置,可见只是重新运行了provider:

 
问题处理
- 根据几位读者的反馈(十分感谢),如果是操作环境是windows,在执行过程中可能报类似以下错误:
 
Failed to deploy ‘Compose: docker-compose.yml’: com.intellij.execution.process.ProcessNotCreatedException: Cannot run program “docker-compose” (in directory “XXXXXX”): CreateProcess error=2, 系统找不到指定的文件
- 
如果您遇到了这个问题,这里有更详细的处理方法《docker-compose idea CreateProcess error=2, 系统找不到指定的文件》
 - 
至此,Docker插件系列就全部完成了,希望文章能给您提供一些参考,助您更熟练的使用此插件。
 
欢迎关注51CTO博客:程序员欣宸
学习路上,你不孤单,欣宸原创一路相伴...










