docker在2017年全面支持k8s了,但是在小集群中,swarm的轻量还是有它独有的优势。
Swarm安装
swarm不需要安装了,swarm已经被内置进docker包中了,你只需要用docker swarm命令就可以了。
Swarm架构
- 一个swarm集群有N个node
- 每个node上有N个task
- 一个service有N个task,分布在M个node上
- task == container
- service 可以动态的改变task个数,可以自动负载均衡
Swarm命令
- docker swarm # 操作跟集群相关的东东
- docker node # 操作跟节点相关的东东
- docker node ls
- docker service # 操作跟服务相关的东东
- docker service create –replicas 3 -p 80:80 –name nginx nginx
- docker service ls
- docker service ps nginx
- docker service logs nginx
- docker service scale nginx=2
- docker service scale nginx=5
- docker service rm nginx
使用 docker-compose.yml 来启动服务
version: "3"
services:
wordpress:
image: wordpress
ports:
- 80:80
networks:
- overlay
environment:
WORDPRESS_DB_HOST: db:3306
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
deploy:
mode: replicated
replicas: 3
命令 docker stack deploy -c docker-compose.yml wordpress