################################################
1、容器编排docker compose 为啥用??
1)、springboot项目
需要依赖redis、mysql5.7、nginx。
如果使用docker原生部署的话,则需要安装redis、mysql5、nigix容器,在才可以
springboot项目,这样的话部署项目的流程非常复杂
所以需要引入我们docker compose 实现容器编排技术
i)、局域网容器
mysql容器、redis容器、nginx容器、es容器
springboot项目容器
kafka zk
nacos
注:docker最终解决了运行环境配置中的问题。------镜像文件低层封装好了
ii)、容器编排
mysql容器
redis容器
nginx容器
es容器
springboot项目容器
2、原理
######docker compose:容器集群的快速编排
开发一个springboot项目---大工程
1、依赖mysql
2、依赖redis
3、依赖ZK
需要在:docker-compose.yml配置项目工程依赖环境配置
i)、3层: 工程project
服务service
容器contain
ii)、工程文件:docker-compose.yml
extends文件
环境变量文件 COMPOSE_FILE或-f参数自定义配置文件
定义了多个有依赖关系服务及每个服务运行
iii)、工程 :多个服务(服务:n个容器运行镜像、参数、依赖)
iiii)、负载均衡:借其他工具(服务发现及负载均衡)
2)、compose 重要概念
i)、服务(service):一个应用的容器,实际可以包括若干运行相同镜像的容器实例
ii)、项目(project):一组关联的应用容器组成一个完整业务单元,
在docker-compose.yml文件中定义
项目可以由多个服务(容器)关联而成,compose面向项目进行管理,通过子命令
对项目中的一组容器进行便捷地生命周期管理
iii)、调用docker服务提供的API来对容器进行管理(docker api)
docker-compse 分3层
a)、项目层 springboot项目依赖于我们的mysql、redis、nginx
一个项目由多个容器组成
b)、服务层 运行一个镜像的实例
c)、docker-compose编排容器
mysql容器 redis容器 nginx容器 es容器
springboot项目容器
.....................docker-compose.yml.....................................
注:独立IP信息