博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker Swarm 集群创建+Portainer 图形化管理实验
阅读量:2487 次
发布时间:2019-05-11

本文共 2713 字,大约阅读时间需要 9 分钟。

目标:

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

 

步骤:

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

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

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

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

5.安装portainer容器

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

 

命令:

 

# 1.1Docker 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的管理界面,管理整个集群。

# 结束

最终效果展示:

你可能感兴趣的文章
期货市场技术分析01_理论基础
查看>>
期货市场技术分析02_趋势的基本概念
查看>>
期货市场技术分析03_主要反转形态
查看>>
期货市场技术分析04_持续形态
查看>>
期货市场技术分析05_交易量和持仓兴趣
查看>>
TB交易开拓者入门教程
查看>>
TB创建公式应用dll失败 请检查用户权限,终极解决方案
查看>>
python绘制k线图(蜡烛图)报错 No module named 'matplotlib.finance
查看>>
talib均线大全
查看>>
期货市场技术分析06_长期图表和商品指数
查看>>
期货市场技术分析07_摆动指数和相反意见理论
查看>>
满屏的指标?删了吧,手把手教你裸 K 交易!
查看>>
不吹不黑 | 聊聊为什么要用99%精度的数据回测
查看>>
对于模拟交易所引发的思考
查看>>
高频交易的几种策略
查看>>
量化策略回测TRIXKDJ
查看>>
量化策略回测唐安奇通道
查看>>
CTA策略如何过滤部分震荡行情?
查看>>
量化策略回测DualThrust
查看>>
量化策略回测BoolC
查看>>