管理节点Manager
# docker node ls
查看集群
# docker swarm init
运行此命令 节点自动成为管理节点
#docker service ls
查看当前 Swarm 集群运行的服务
#docker service ps
查看某个服务的详情
#docker service logs
查看某个服务的日志
#docker service rm
从 Swarm 集群移除某个服务
在 Swarm 集群中使用 compose 文件
Swarm 集群中部署 WordPress
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
db:
image: mysql
networks:
- overlay
volumes:
- db-data:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: somewordpress
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: wordpress
deploy:
placement:
constraints: [node.role == manager]
visualizer:
image: dockersamples/visualizer:stable
ports:
- "8080:8080"
stop_grace_period: 1m30s
volumes:
- "/var/run/docker.sock:/var/run/docker.sock"
deploy:
placement:
constraints: [node.role == manager]
volumes:
db-data:
networks:
overlay:
在 Swarm 集群管理节点新建该文件,其中的 visualizer 服务提供一个可视化页面,我们可以从浏览器中很直观的查看集群中各个服务的运行节点。
#docker stack deploy -c docker-compose.yml wordpress
部署服务使用 docker stack deploy ,其中 -c 参数指定 compose 文件名
在浏览器新的标签页输入 任一节点IP 即可看到 WordPress 安装界面,安装完成之后,输入任一节点IP 即可看到 WordPress 页面。
#docker stack ls
查看服务
#docker stack down
移出服务,该命令不会移除服务所使用的 数据卷
#docker volume rm
移除数据卷
# docker swarm leave
节点退出集群, 可以在工作节点执行