写点什么

IDEA 的 Docker 插件实战 (Docker-compose 篇)

作者:程序员欣宸
  • 2022 年 10 月 11 日
    广东
  • 本文字数:1609 字

    阅读完需:约 5 分钟

IDEA的Docker插件实战(Docker-compose篇)

欢迎访问我的 GitHub

这里分类和汇总了欣宸的全部原创(含配套源码):https://github.com/zq2599/blog_demos


  • 本文是《IDEA 的 Docker 插件实战》系列的第三篇,IDEA 的 Docker 插件一共有三种:Dockerfile、Docker Image、Docker-compose,前面我们已熟悉了 Dockerfile、Docker Image,今天来实战 Docker-compose。

系列文章链接

  1. 《IDEA的Docker插件实战(Dockerfile篇)》

  2. 《IDEA的Docker插件实战(Docker Image篇)》

  3. 《IDEA的Docker插件实战(Docker-compose篇)》

开发环境

  1. 开发环境操作系统:macOS Mojave

  2. IntelliJ IDEA: 2018.3.5 (Ultimate Edition)

  3. Docker 服务所在环境:Ubuntu 18.04.2 LTS

  4. 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, 系统找不到指定的文件
复制代码


欢迎关注 InfoQ:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...


发布于: 刚刚阅读数: 4
用户头像

搜索"程序员欣宸",一起畅游Java宇宙 2018.04.19 加入

前腾讯、前阿里员工,从事Java后台工作,对Docker和Kubernetes充满热爱,所有文章均为作者原创,个人Github:https://github.com/zq2599/blog_demos

评论

发布
暂无评论
IDEA的Docker插件实战(Docker-compose篇)_Docker_程序员欣宸_InfoQ写作社区