Docker Compose 是干什么的?

一则或许对你有用的小广告

欢迎加入小哈的星球 ,你将获得:专属的项目实战 / 1v1 提问 / Java 学习路线 / 学习打卡 / 每月赠书 / 社群讨论

  • 新项目:《从零手撸:仿小红书(微服务架构)》 正在持续爆肝中,基于 Spring Cloud Alibaba + Spring Boot 3.x + JDK 17...点击查看项目介绍
  • 《从零手撸:前后端分离博客项目(全栈开发)》 2 期已完结,演示链接: http://116.62.199.48/

截止目前, 星球 内专栏累计输出 66w+ 字,讲解图 2896+ 张,还在持续爆肝中.. 后续还会上新更多项目,目标是将 Java 领域典型的项目都整一波,如秒杀系统, 在线商城, IM 即时通讯,权限管理,Spring Cloud Alibaba 微服务等等,已有 2300+ 小伙伴加入学习 ,欢迎点击围观

Docker Compose 是干什么的Docker Compose 是干什么的

Docker Compose 是 Docker 官方的开源项目,能够实现对 Docker 容器集群的快速编排,以保证快速部署分布式应用。

知识点拓展:composeswarmdocker 官方提供的容器编排工具。

Docker Compose 开源地址:https://github.com/docker/compose

Docker Compose 解决了什么问题?

在实际的生产环境中,往往需要多个容器配合工作,才能称的上一个完整的应用服务。

举个栗子,你想搭建一个 Web 服务,除了 Web 服务容器本身,若涉及数据存储,就需要依赖数据库容器(Mysql、Mongdb 等);若想实现分词搜索,就需要依赖搜索引擎容器(Elasticsearch、Solor 等);其他诸如缓存容器、负载均衡容器等。

同时,部署和管理繁多的容器服务是非常困难的。有了 Docker Compose ,就能很好的解决这个问题!Docker Compose 通过一个声明式的配置文件 docker-compose.yml 来描述整个应用,使用一条命令即可完成部署。应用部署成功后,还可以通过一系列简单的命令实现对应用生命周期的管理。甚至,配置文件还可以置于版本控制系统中进行存储和管理。

Compose 中的核心概念

Compose 中有两个重要的概念:

  • 服务 (service):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例。
  • 项目 (project):由一组关联的应用容器组成的一个完整业务单元,在 docker-compose.yml 文件中定义