Docker stack实践

stacks

1. 可以在docker-compose.yml中增加多个services

docker engine 1.12新特性

1. 内置服务编排机制:目前有Docker Swarm、Kubernetes以及Mesos在内的多种编排框架,Docker Engine如今迎来了内置编排机制

2. Service:分布式负载均衡服务

3. 零配置安全性:节点之间通信内容验证、授权、加密

4. Docker Stack与分布式应用捆绑包DAB

普通容器和docker stack区别

单个应用方式: Dockerfile -> 镜像 -> 容器(docker run)  ---非集群

多个应用管理方式: docker-compose  ---非集群

分布式负载均衡服务方式: docker service create/update  ---集群

分布式负载均衡服务管理方式:Docker Compose -> 分布式应用捆绑包 -> Docker Stack  ---集群

通过compose文件生成dab并创建stack过程

docker service ls --filter name=redis --quiet | wc -l

docker-compose --file docker-compose.yml bundle

docker deploy --file page-hit-counter.dab page-hit-counter

docker service ls

【docker stack命令】

根据compose文件或bundle文件创建stack

docker stack deploy --compose-file docker-compose.yml vossibility

docker stack deploy --bundle-file vossibility-stack.dab vossibility

列出所有stack

docker stack ls

列出stack中所有任务

docker stack ps

删除stack

docker stack rm

列出stack中所有服务

docker stack services stack-name

【自动集群负载均衡】

Docker Service负责保持应用的“理想状态”。例如,理想状态是确保特定服务有二套容器与之对应且持续运行。如果移除某个容器,而非服务,则该服务会自动重启一个容器,如果整个节点挂了,则会自动到集群中开启另一个节点。所以如果要删除某个服务,必须 docker service rm ** 或 docker stack rm **

例如:

docker rm -f abf8703ed713  ----删除正在运行的容器

docker service ls  ----能看到容器删除后又重启了一个

你可能感兴趣的:(Docker stack实践)