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

简介: IDEA的Docker插件一共有三种:Dockerfile、Docker Image、Docker-compose,前面我们已熟悉了Dockerfile、Docker Image,今天来实战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, 系统找不到指定的文件

欢迎关注阿里云开发者社区博客:程序员欣宸

学习路上,你不孤单,欣宸原创一路相伴...
相关文章
|
19天前
|
关系型数据库 应用服务中间件 PHP
实战~如何组织一个多容器项目docker-compose
本文介绍了如何使用Docker搭建Nginx、PHP和MySQL的环境。首先启动Nginx容器并查看IP地址,接着启动Alpine容器并安装curl测试连通性。通过`--link`方式或`docker-compose`配置文件实现服务间的通信。最后展示了Nginx配置文件和PHP代码示例,验证了各服务的正常运行。
43 3
实战~如何组织一个多容器项目docker-compose
|
17天前
|
前端开发 Java 开发者
这款免费 IDEA 插件让你开发 Spring 程序更简单
Feign-Helper 是一款支持 Spring 框架的 IDEA 免费插件,提供 URL 快速搜索、Spring Web Controller 路径一键复制及 Feign 与 Controller 接口互相导航等功能,极大提升了开发效率。
|
1月前
|
存储 缓存 监控
Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
本文介绍了Docker容器性能调优的关键技巧,涵盖CPU、内存、网络及磁盘I/O的优化策略,结合实战案例,旨在帮助读者有效提升Docker容器的性能与稳定性。
110 7
|
2月前
|
Kubernetes Linux 开发者
深入探索容器化技术——Docker 的实战应用
深入探索容器化技术——Docker 的实战应用
92 0
|
2月前
|
存储 Cloud Native 开发者
深入探索容器化技术——Docker的实战应用
深入探索容器化技术——Docker的实战应用
42 0
|
2月前
|
存储 安全 Docker
Docker 的实战应用与优化策略
Docker 的实战应用与优化策略
38 0
|
Web App开发 NoSQL 测试技术
Docker实战:更轻松、更愉快、更高效
本文讲的是Docker实战:更轻松、更愉快、更高效,【编者的话】本文作者(Michael Herman)通过实例展示了Docker在日常开发中的潜力,并不需要花费太多精力,就可以建立一套高效、简洁的流程,包括了项目自动化的测试、持续集成及部署,将开发者从这些令人厌倦的体力劳动中解放出来,同时为我们了解Docker提供了直观的经验。
2897 0
|
27天前
|
监控 NoSQL 时序数据库
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
《docker高级篇(大厂进阶):7.Docker容器监控之CAdvisor+InfluxDB+Granfana》包括:原生命令、是什么、compose容器编排,一套带走
189 77
|
8天前
|
搜索推荐 安全 数据安全/隐私保护
7 个最能提高生产力的 Docker 容器
7 个最能提高生产力的 Docker 容器
75 35
|
1月前
|
监控 Docker 容器
在Docker容器中运行打包好的应用程序
在Docker容器中运行打包好的应用程序