随笔 - 120  文章 - 0  评论 - 35  阅读 - 85万

利用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查看更加详细的信息(当然还是在管理节点上执行)

 

posted on   wadeson  阅读(660)  评论(0编辑  收藏  举报
编辑推荐:
· 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 让容器管理更轻松!
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示