DockerSwarm
DockerSwarm架构
DockerSwarm搭建
创建了三台docker-machine虚拟机,IP地址如下
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
node1 - virtualbox Running tcp://192.168.99.102:2376 v19.03.12
node2 - virtualbox Running tcp://192.168.99.103:2376 v19.03.12
node3 - virtualbox Running tcp://192.168.99.104:2376 v19.03.12
需要将docker运行在swarm模式下,进入一个节点执行docker swarm init
命令进行集群的初始化,需要使用--advertise-addr
参数指定广播地址,当前当前机器的IP地址即可,并且应该先在manager
节点运行,因为先运行的节点将成为主节点,执行完毕该命令后会有以下输出信息:表示向集群中添加worker
节点就运行下面命令即可
Swarm initialized: current node (ehjzg97ne849rfwppmnspb36v) is now a manager.
To add a worker to this swarm, run the following command:
docker swarm join --token SWMTKN-1-4cm17syds4l2b26sqj16f8e4l4ddto5qdv4pb0cad6esds5hug-0yp6jkhbemavv5y772ldraaw2 192.168.99.102:2377
To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.
添加后在manager
节点运行docker node ls
命令可查看当前集群中的状态
DockerSwarm服务部署
需要在manager
节点运行服务部署命令docker service create
,该命令与docker run
命令类似
docker service ls
:列出当前Docker中的所有正在运行的服务docker service ps
:列出某个service运行的详细情况
Comments NOTHING