5

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

 1 year ago
source link: https://blog.51cto.com/zq2599/5745578
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

欢迎访问我的GitHub

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

  • 本文是《IDEA的Docker插件实战》系列的第三篇,IDEA的Docker插件一共有三种:Dockerfile、Docker Image、Docker-compose,前面我们已熟悉了Dockerfile、Docker Image,今天来实战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的服务器上:

    IDEA的Docker插件实战(Docker-compose)_docker
  • 注意: 远程Docker所在电脑上,此时没有任何Docker镜像和容器,空空如也

使用Docker-compose插件

  • 该插件的作用相对简单:让远程Docker按照指定的docker-compose.yml编排运行容器;

  • 接下来的实战会创建一个docker-compose.yml,里面编排了三个容器:Nacos、simple-provider、simple-consumer,这三个容器组成了spring-cloud-alibaba的注册中心体验环境,其功能如下图所示:

    IDEA的Docker插件实战(Docker-compose)_docker-compose_02
  • 本文不会对上述功能的细节做过多描述,如果您对上图的镜像的细节感兴趣,可以参考 《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",新建一个配置:

    IDEA的Docker插件实战(Docker-compose)_docker_03
  • 如下图,新建一个 Docker-compose 配置:

    IDEA的Docker插件实战(Docker-compose)_docker-compose_04
  • 在新的配置页面,填写下图所示的信息:

    IDEA的Docker插件实战(Docker-compose)_docker_05
  • 在主窗口选中刚才的配置,点击下图红框2中的绿色三角形,开始执行此配置:

    IDEA的Docker插件实战(Docker-compose)_docker_06
  • 如下图所示,由于Docker所在机器上没有docker-compose.yml中指定的镜像,因此会立即开始下载:

    IDEA的Docker插件实战(Docker-compose)_docker-compose_07
  • 启动成功后,主窗口信息如下:

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

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

    IDEA的Docker插件实战(Docker-compose)_docker_10
  • 运行这个新的配置,可见只是重新运行了provider:

    IDEA的Docker插件实战(Docker-compose)_docker_11
  • 根据几位读者的反馈(十分感谢),如果是操作环境是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博客:程序员欣宸

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK