Docker Swarm 集群使用备忘

Docker Swarm 集群使用备忘

建立集群

1. 主 manager 初始化

主 manager 节点通过 docker swarm init 初始化集群

1
2
3
4
5
6
7
8
$ manager1: docker swarm init --advertise-addr 192.168.1.101
Swarm initialized: current node (n0ub7dpn90rxjq97dr0g8we0w) is now a manager.

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

    docker swarm join --token SWMTKN-1-5uwpqibnvmho1png8zmhcw8274yanohee32jyrcjlait9djhsk-envtxo4dl6df2ar3qldcccfdg 192.168.1.101:2377

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

2. worker 加入

其他 worker 节点通过给出的命令加入集群

1
2
$ node1: docker swarm join --token SWMTKN-1-5uwpqibnvmho1png8zmhcw8274yanohee32jyrcjlait9djhsk-envtxo4dl6df2ar3qldcccfdg 192.168.1.101:2377
This node joined a swarm as a worker.

3. 次 manager 加入

次 manager 节点通过在主 manager 上运行以下命令获取以 manager 身份加入集群的命令

1
2
3
4
$ manager1: docker swarm join-token manager
To add a manager to this swarm, run the following command:

    docker swarm join --token SWMTKN-1-5uwpqibnvmho1png8zmhcw8274yanohee32jyrcjlait9djhsk-0koz1b98sco8r5cn3g61eahnu 192.168.1.101:2377
1
2
$ manager2: docker swarm join --token SWMTKN-1-5uwpqibnvmho1png8zmhcw8274yanohee32jyrcjlait9djhsk-0koz1b98sco8r5cn3g61eahnu 192.168.1.101:2377
This node joined a swarm as a manager.

常用命令一览

docker machine 常用命令

命令说明
docker-machine create创建一个 Docker 主机(常用-d virtualbox)
docker-machine ls查看所有的 Docker 主机
docker-machine sshSSH 到主机上执行命令
docker-machine env显示连接到某个主机需要的环境变量
docker-machine inspect输出主机更多信息
docker-machine start启动一个主机
docker-machine stop停止一个主机
docker-machine restart重启某台主机
docker-machine kill停止某个主机
docker-machine rm删除某台主机
docker-machine status查看主机状态
docker-machine scp在主机之间复制文件
eval $(docker-machine env manager1)配置 docker 连接到远程主机
eval $(docker-machine env -u)配置 docker 取消连接到远程主机

docker swarm 常用命令

命令说明
docker swarm init初始化集群
docker swarm join-token worker查看工作节点的 token
docker swarm join-token manager查看管理节点的 token
docker swarm join加入集群中

docker node 常用命令

命令说明
docker node ls查看所有集群节点
docker node rm删除某个节点(-f强制删除)
docker node inspect查看节点详情
docker node demote节点降级,由管理节点降级为工作节点
docker node promote节点升级,由工作节点升级为管理节点
docker node update更新节点
docker node ps查看节点中的 Task 任务

docker service 常用命令

命令说明
docker service create部署服务
docker service inspect查看服务详情
docker service logs产看某个服务日志
docker service ls查看所有服务详情
docker service rm删除某个服务(-f强制删除)
docker service scale设置某个服务个数
docker service update更新某个服务

docker stack 常用命令

命令说明
docker stack deploy部署新的堆栈或更新现有堆栈
docker stack ls列出现有堆栈
docker stack ps列出堆栈中的任务
docker stack rm删除堆栈
docker stack services列出堆栈中的服务
docker stack down移除某个堆栈(不会删除数据)