赞
踩
应用编排:
1.单机环境下:shell/python脚本
2.多机/集群环境下:ansible、saltstack、pubbet
docker容器编排:
1.单机:docker-compose
2.多机/集群:docker swarm,mesos+ marathon,kubernetes
我们知道使用一个Dockerfile模板文件可以定义一个单独的应用容器,如果需要定义多个容器就需要服务编排。服务编排有很多种技术方案,今天给大家介绍Docker 官方产品Docker Compose。
Dockerfile可以让用户管理一个单独的应用容器;而Compose则 允许用户在一个模板(YAML格式) 中定义一组相关联的应用容器( 被称为一个project,即项目),例如一个Web服务容器再加上后端的数据库服务容器等。
Docker-Compose项目是Docker官方的开源项目,负责实现对Docker容器集群的快速编排。
Docker-Compose将所管理的容器分为三层,分别是工程(project),服务(service) 以及容器(container)。Docker-Compose运行目录下的所有文件(docker-compose.yml,extends文件或环境变量文件等)组成一个工程,若无特殊指定工程名即为当前目录名。一个工程当中可包含多个服务,每个服务中定义了容器运行的镜像、参数、依赖。一个服务当中可包括多个容器实例,Docker-Compose并没有解决负载均衡的问题,因此需要借助其它工具实现服务 发现及负载均衡,比如Consul。
Docker-Compose的工程配置文件默认为docker-compose. yml,可通过环境变量COMPOSE_FILE 或 -f 参数自定义配置文件,其定义了多个有依赖关系的服务及每个服务运行的容器。
使用一个Dockerfile模板文件,可以让用户很方便的定义一个单独的应用容器。在工作中,经常会碰到需要多个容器相互配合来完成某项任务的情况。例如要实现一个Web项目,除了Web服务容器本身,往往还需要再加上后端的数据库服务容器,甚至还包括负载均衡容器等。
Compose允许用户通过一个单独的docker-compose. yml模板文件(YAML格式)来定义一组相关联的应用容器为一个项目 (project) 。
Docker-Compose项目由Python编写,调用Docker服 务提供的API来对容器进行管理。因此,只要所操作的平台支持Docker API,就可以在其上利用Compose来进行编排管理。
Docker Compose是 Docker 的独立产品,因此需要安装 Docker 之后再单独安装Docker Compose。
#方法一:下载。
curl -L https://github.com/docker/compose/releases/download/1.21.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
#安装,给予执行权限
chmod +x /usr/local/bin/docker-compose
#查看版本
docker-compose --version
#方法二:也可以提前下载好安装包,之后上传到系统中。
cd /opt/
ls
chmod +x docker-compose
mv docker-compose /usr/local/bin/
docker-compose --version
YAML是一种标记语言,它可以很直观的展示数据序列化格式,可读性高。类似于 json 数据描述语言,语法比 json简单的很多。
#一个键如果有多个值。符号可以不缩进,但值要缩进。
name:
- zhangsan
- lisi
- wangwu
name:
- zhangsan
- lisi
- wangwu
name: ["zhangsan", "lisi", "wangwu"]
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。