2.Docker进阶
Docker composedocker 服务编排工具,用来定义和运行多个 docker 容器的工具docker compose 使用 YA ML 文件来配置应用程序所需要的服务官方文档:https://docs.docker.com/reference/composehttps://www.runoob.com/docker/docker-compose.htmlCompose 使用的三个步骤:
Docker compose
docker 服务编排工具,用来定义和运行多个 docker 容器的工具
docker compose 使用 YA ML 文件来配置应用程序所需要的服务
官方文档:https://docs.docker.com/reference/
compose
https://www.runoob.com/docker/docker-compose.html
Compose 使用的三个步骤:
- 使用 Dockerfile 定义应用程序的环境
- 使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行
- 最后,执行 docker-compose up 命令来启动并运行整个应用程序
实例:redis 和 Flask 应用的搭建
-
新建一个文件夹
放入 app.py、requirements.txt 等文件
-
创建 dockerfile 文件
-
使用 docker-compose 定义服务
创建 docker-compose.yml 文件
-
build and run
docker-compose up
执行流程:
-
创建网络
-
执行 Docker-compose.yml
-
启动 yml 文件中定义的服务
Docker-compose.yml
创建时默认规则:
默认服务名:文件名_服务名_num
多个服务器:集群 num表示副本数量(大型服务可能有多个副本,每个副本互不影响)
网络规则:
项目中的内容都在同一个网络下,可以通过 域名 访问
保证 HA(高可用性)
命令
启动:docker-compose up
-d 后台启动
停止:docker-compose down 或者 ctrl+c
YAML
https://www.runoob.com/w3cnote/yaml-intro.html
基本语法
- 大小写敏感
- 使用缩进表示层级关系
- 缩进不允许使用 tab,只允许空格
- 缩进的空格数不重要,只要相同层级的元素左对齐即可
- ‘#’ 表示注释
数据类型
- 对象:键值对的集合,又称为映射(mapping)/ 哈希(hashes) / 字典(dictionary)
- 数组:一组按次序排列的值,又称为序列(sequence) / 列表(list)
- 纯量(scalars):单个的、不可再分的值
yaml 与 docker 版本
向下兼容
三层结构
version:
services:
服务1:
#服务配置
服务2:
#服务配置
# 其他配置 网络、券、全局规则
volumes:
network:
configs:
depends_on
deploy 部署
expose 暴露端口
Swarm集群
onfigs:
**depends_on**
[外链图片转存中...(img-pAKimTQS-1615868937982)]
deploy 部署
expose 暴露端口
### Swarm集群
更多推荐
所有评论(0)