利用docker-machine安装swarm
安装之前的环境:
两个节点,节点1:192.168.101.14,用来创建manager1 machine,节点2:192.168.101.15,被节点1通过远程创建work1 machine
两个节点环境:都是基于centos7,节点1安装了docker daemon,节点2没有安装任何docker环境(节点1通过generic驱动来安装machine)
1、在节点1上安装docker-machine
[root@docker tools]# mv docker-machine /usr/local/bin/ [root@docker bin]# chmod +x docker-machine
docker-machine的二进制文件通过之前的文章进行下载,这里不详述了,安装好docker-machine之后,为节点1创建manager1 machine
[root@docker ~]# ssh-keygen [root@docker ~]# ssh-copy-id root@192.168.101.14 将key传给自己 [root@docker ~]# docker-machine create -d generic --generic-ip-address=192.168.101.14 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root manager1
由于是在节点1本机上创建machine,所以key传给自己,现在在节点1上通过docker-machine为节点2创建work1 machine
[root@docker ~]# ssh-copy-id root@192.168.101.15 将key传给15 [root@docker ~]# docker-machine create -d generic --generic-ip-address=192.168.101.15 --generic-ssh-key ~/.ssh/id_rsa --generic-ssh-user=root work1
这样操作之后,能够在节点2(192.168.101.15)上安装docker、docker-machine等环境
2、查看创建完成后的machine:
[root@manager1 ~]# docker-machine ls NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS manager1 - generic Running tcp://192.168.101.14:2376 v17.09.0-ce work1 - generic Running tcp://192.168.101.15:2376 v17.10.0-ce
3、在manager1节点上创建swarm,并将manager1节点作为swarm的管理节点:
[root@manager1 ~]# docker swarm init --advertise-addr 192.168.101.14
4、创建的swarm有一个manager1节点,也就是管理节点了,现在为swarm添加一个work节点,将work1节点添加到swarm集群中:
[root@work1 ~]# docker swarm join --token SWMTKN-1-3fcp657en1bt3kemq4okp411fzxsoet5ayvvos1ipxlogliejr-3qznuxm91ccgx0rgx6zhg6h4z 192.168.101.14:2377 This node joined a swarm as a worker.
在主机192.168.101.15也就是work1节点上执行此命令(将自己work1节点添加到swarm中去)
如果不知道添加work节点的命令,可以通过在manager1节点上执行下面命令,查看具体添加work节点的命令:
# docker swarm join-token worker
将得到后的命令结果在work节点上执行
5、在swarm集群中的管理节点上查看节点信息:
[root@manager1 ~]# docker node ls ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS fr67r1aa0oq3hkhd7knqev61w * manager1 Ready Active Leader kfihkvme0tp6vao1j5894y3cl work1 Ready Active
还可以通过docker info查看更加详细的信息(当然还是在管理节点上执行)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!