关于docker集群
1.docker Compose
简介
Docker
之前:DockerFile build ->run需要手动操作,很麻烦
如果有100微服务,那么需要手动创建100个容器?
docker Compose来轻松高效的管理容器,定义运行多个容器
官方介绍
定义运行多个容器
使用YAML配置文件
singgle command命令有哪些?
所有环境都可以使用Compose
- 三步骤
dockerfile保证我们的项目在任何地方运行
service是什么服务?docker-compose.yml这个文件怎么写?
启动compose
作用:就是批量容器编排
自己的理解
Compose是Docker官方的开源项目,需要安装
Dockerfile 让程序在任何地方运行。 web服务,redis,mysql,nginx。。。涉及到多个容器。(一个一个run太麻烦)
Compose
复制version: "3.8"
services:
web: #web服务容器
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links: #链接
- redis
redis: #redis服务容器
image: redis
volumes:
logvolume01: {}
compose:重要概念
- 服务Service,容器、应用 (web,redis,mysql)
- 项目project,一组关联的容器,形成一个完整的项目
compose的安装
安装
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
为compose赋予操作权限
sudo chmod +x /usr/local/bin/docker-compose
体验
官方测试应用:python计数,redis记录数据
- 应用 app.py
- Dockerfile 应用打包为镜像
- Docker-compose.yml 文件 (定义整个服务,需要的环境,web,redis)
- 启动compose项目(docker-compose up)
流程 - 创建网络
- 执行Docker-compose.yml
- 启动服务
docker-compose up - 停止服务
docker-compose down || ctrl+c
docker-compose --version 查看版本
自动下载image
默认的服务名 文件名_服务名_num
多个服务器形成的集群,_num表示副本数量
例如:一个redis服务=>可能UI有4个副本
集群状态下服务都不可能只有一个,应该是弹性的(高可用的)
网络规则
只要通过compose启动就会给这个应用申请一个自己的网络
作用:让项目中的内容都在同一个网络下,通过域名访问
如果在同一个网络下,我们可以直接通过域名访问
docker-compose.yml规则
核心
只有三层
version: '' #版本
Docker Swarm
集群方式部署、4台阿里云服务器,
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络