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 官方的开源项目,能够实现对 Docker 容器集群的快速编排,以保证快速部署分布式应用。
知识点拓展:
compose
和swarm
是docker
官方提供的容器编排工具。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
文件中定义