频道栏目
首页 > 资讯 > 云计算 > 正文

DockerSwarm集群创建+Portainer图形化管理实验

17-06-19        来源:[db:作者]  
收藏   我要投稿

目标:

使用Docker Toolbox 创建4台Docker 虚拟机,组建Docker Swarm集群,其中2台为Docker Swarm集群的Manager角色,2台为Worker角色。在集群中安装Portainer图形化管理工具,通过Portainer进行集群的管理和使用。

 

步骤:

1.创建4台Docker虚拟机,机器名为:(manager1/manager2,worker1/worker2)

2.初始化Docker Swarm 集群(docker swarm init)

3.管理者虚机节点的加入(manager)

4.工作节点虚机的加入(worker)

5.安装portainer容器

6.通过Portainer在集群中部署httpd及其他应用

 

命令:

 

# 1.1在Docker Toolbox控制台中创建manager1虚拟机

docker-machine create \

--driver virtualbox \

--engine-registry-mirror=https://registry.docker-cn.com \

manager1

 

#1.2 继续创建虚拟机manager2虚拟机

docker-machine create \

--driver virtualbox \

--engine-registry-mirror=https://registry.docker-cn.com \

manager2

 

# 1.3创建虚拟机worker1

docker-machine create \

--driver virtualbox \

--engine-registry-mirror=https://registry.docker-cn.com \

worker1

 

# 1.4创建虚拟机worker2

docker-machine create \

--driver virtualbox \

--engine-registry-mirror=https://registry.docker-cn.com \

worker2

 

# 2.1切换到集群的主控节点manager1上,初始化Swarm集群

eval $(docker-machine env manager1)

docker swarm init --advertise-addr $(docker-machine ip manager1):2377

#到此集群的主控节点创建成功。

 

# 2.2分别显示管理节点和工作节点加入集群的命令,其中包含令牌

docker swarm join-token manager

docker swarm join-token worker

 

#注意:管理节点加入集群的令牌和工作节点加入集群的令牌是不一样的。

#在控制台上可以复制加入集群的命令,无需手工逐个输入,

#还要注意在记事本中删除令牌行不必要的结尾的换行符,

#这样执行加入集群的命令才不会出错。

 

# 以下命令中的令牌是我的电脑实验时自动产生的,

# 各位需要根据自己显示的令牌替换掉下面的令牌.

 

# 3切换到manager2虚拟机,执行加入到集群的命令

eval $(docker-machine env manager2)

docker swarm join \

--token SWMTKN-1-18foycvyym1btrks0xshjoh2a51kg1wkf90qlnd601op1owj9e-477vghk0mw93l7nklgt9mehgv\

$(docker-machine ip manager1):2377

 

# 4.1切换到worker1虚拟机,执行加入到集群的命令,令牌不同,最终角色不同。

eval $(docker-machine env worker1)

docker swarm join \

--token SWMTKN-1-18foycvyym1btrks0xshjoh2a51kg1wkf90qlnd601op1owj9e-blqzz5y48jbd61j0ywzbgvkp9\

$(docker-machine ip manager1):2377

 

# 4.2切换到worker2虚拟机,执行加入到集群的命令,

eval $(docker-machine env worker2)

docker swarm join \

--token SWMTKN-1-18foycvyym1btrks0xshjoh2a51kg1wkf90qlnd601op1owj9e-blqzz5y48jbd61j0ywzbgvkp9\

$(docker-machine ip manager1):2377

 

# 5.1在集群上运行 portainer,自动的运行在manager节点上

docker service create \

--name portainer \

--publish 9000:9000 \

--constraint 'node.role == manager' \

--mount type=bind,src=//var/run/docker.sock,dst=/var/run/docker.sock \

portainer/portainer \

-H unix:///var/run/docker.sock

# 因为要从网络上下载portainer/portainer 镜像,然后自动启动服务,

# 需要稍等片刻(1分钟到几分钟),才能访问portainer管理页面。

# 因此,创建虚拟机时加入镜像加速器地址是非常必要的,可以排除很多网络问题。

# 访问Portainer的地址为 http://4台虚机的任何一个IP:9000

 

# 5.2继续在集群主控节点上部署可视化的visualizer服务

# 可以非常直观的显示整个Swarm集群的信息、状态、运行的容器等

docker service create \

--name=viz \

--publish=8088:8080/tcp \

--constraint=node.role==manager \

--mount=type=bind,src=/var/run/docker.sock,dst=/var/run/docker.sock \

manomarks/visualizer

# 访问方法: http://4台机器的任何一个ip:8088

 

 

# 6 通过Portainer的管理界面,管理整个集群。

# 结束

 

最终效果展示:

 

 

 

 

 

相关TAG标签
上一篇:delphi 入门之《获取网页的内容》
下一篇:hadoop任务卡死
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站