Docker Compose 是干什么的?
一则或许对你有用的小广告
欢迎加入小哈的星球 ,你将获得:专属的项目实战 / Java 学习路线 / 一对一提问 / 学习打卡/ 赠书活动
目前,正在
星球
内带小伙伴们做第一个项目:全栈前后端分离博客项目,采用技术栈 Spring Boot + Mybatis Plus + Vue 3.2 + Vite 4
,手把手,前端 + 后端全栈开发,从 0 到 1 讲解每个功能点开发步骤,1v1 答疑,陪伴式直到项目上线,目前已更新了 144 小节,累计 22w+ 字,讲解图:923 张,还在持续爆肝中,后续还会上新更多项目,目标是将 Java 领域典型的项目都整上,如秒杀系统、在线商城、IM 即时通讯、权限管理等等,已有 440+ 小伙伴加入,欢迎点击围观
。
Docker Compose 是干什么的
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
文件中定义