1.创建manage节点

$docker swarm init --advertise-addr=192.168.0.38(主机ip)

To add a worker to this swarm, run the following command:

docker swarm join --token SWMTKN-1-2dw5zjum1lblatwcp6izyucutslkx66r9z88ofwhkpdsemlpzs-6g8iylp6mc47wnpek3jwae57j 192.168.0.38:2377

To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.

2.进去其他机器 运行

docker swarm join --token SWMTKN-1-2dw5zjum1lblatwcp6izyucutslkx66r9z88ofwhkpdsemlpzs-6g8iylp6mc47wnpek3jwae57j 192.168.0.38:2377(复制上面运行的结果)

3.swarm基本操作

1.查看当前swarm上的节点
docker node ls
2.创建一个container
docker service create(相当于run) --name demo busybox sh -c "while true; do sleep 3600; done"
3.查看创建的container
docker service ls
4.查看container详细情况
docker service ps dome(container名称)
5.集群部署多个
docker service scale demo=5(部署5个)
6.删除container
docker service rm dome(container名称)
7.创建网络
docker network create -d(指定网络类型) overlay demo # overlay网络用于连接不同机器上的docker容器,允许不同机器上的容器相互通信,同时支持对消息进行加密
8.查看创建的网络
docker network ls

实例

1.通过swarm集群部署wordpress

1.启动swarm
docker swarm init --advertise--addr=192.168.0.38
2.连接上swarm
docker swarm join --token SWMTKN-1-3gmartwkir1l2gyogjl9uhnqlprvdtcczbsj5lkm9qo9tpd0h9-ehs96aoygpsjqacpj09athhgn 192.168.0.38:2377
3.创建一个overlay网络
docker network create -d overlay demo
4.启动mysql容器
docker service create --name mysql --env(环境变量) MYSQL_ROOT_PASSWORD=root --env MYSQL_DATABASE=wordpress --mount type=volume,source=mysql-data,destination=/var/lib/mysql mysql:5.7
5.查看
docker service ls
6.查看容器信息
docker service ps mysql(容器名称)
7.创建wordpress容器
docker service create --name wordpress -p 80:80 --env WORDPRESS_DB_PASSWORD=root --env WORDPRESS_DB_HOST=mysql --network demo wordpress