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