设为首页 收藏本站
查看: 987|回复: 0

[经验分享] Docker可视化界面(Consul+Shipyard+Swarm+Service Discover)部署记录

[复制链接]

尚未签到

发表于 2017-12-6 10:59:40 | 显示全部楼层 |阅读模式
  前面一篇说到了Docker管理工具-Swarm部署记录,基于这个环境,下面记录下Docker可视化界面部署过程:



1)下载相关惊喜
manager-node节点(182.48.115.237)
[iyunv@manager-node ~]# docker pull progrium/consul
[iyunv@manager-node ~]# docker pull rethinkdb
[iyunv@manager-node ~]# docker pull shipyard/shipyard
[iyunv@manager-node ~]# docker pull gliderlabs/registrator
node1和node2节点上
[iyunv@node1 ~]# docker pull progrium/consul
[iyunv@node1 ~]# docker pull gliderlabs/registrator
2)启动consul
manager-node节点(182.48.115.237)
[iyunv@manager-node ~]# docker run -d -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -p 8600:53 -p 8600:53/udp -h manager-node --restart=always --name=consul progrium/consul -server -bootstrap -ui-dir=/ui -advertise 182.48.115.237 -client 0.0.0.0
----------------------------------------------------------------------------------------------
解释下各个参数:
-d         容器在后台运行, detached mode
--restart=always  重启模式, always 表示永远
-p 8400:8400      映射 consul的 rpc 端口8400
-p 8500:8500      映射到公共 IP 这样方便我们使用 UI 界面.
-p 8600:53/udp    绑定udp 端口53(默认 DNS端口)在 docker0 bridge 地址上.
-advertise 182.48.115.237   服务对外公布的 IP, 这里特意设置为182.48.115.237, 否则 service 会显示为内部的容器的 IP 地址, 这样就访问不到了.
-client 0.0.0.0 consul    监听的地址.
删除consule命令(下面命令中的"consul"是启动consul命令中的--name后面的设置名)
# docker rm -f consul
----------------------------------------------------------------------------------------------
node1节点(182.48.115.238)
[iyunv@node1 ~]# docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node1 --name=consul progrium/consul -server  -join 182.48.115.237 -advertise 182.48.115.238 -client 0.0.0.0
node2节点(182.48.115.239)
[iyunv@node2 ~]# docker run -d --restart=always -p 8300:8300 -p 8301:8301 -p 8301:8301/udp -p 8302:8302 -p 8302:8302/udp -p 8400:8400 -p 8500:8500 -h node2 --name=consul progrium/consul -server  -join 182.48.115.237 -advertise 182.48.115.239 -client 0.0.0.0
3)安装Swarm+Shipyard
manager-node节点(182.48.115.237)
[iyunv@manager-node ~]# docker run -d --restart=always --name shipyard-rethinkdb rethinkdb
[iyunv@manager-node ~]# docker run -d -p 3375:3375 --restart=always --name shipyard-swarm-manager swarm:latest manage --host tcp://0.0.0.0:3375 consul://182.48.115.237:8500
node1节点(182.48.115.238)
[iyunv@node1 ~]# docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 182.48.115.238:2375 consul://182.48.115.237:8500
node2节点(182.48.115.239)
[iyunv@node2 ~]# docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 182.48.115.239 consul://182.48.115.239:8500
接着再回到manager-node节点上如下操作
[iyunv@manager-node web]# docker run -d --restart=always --name shipyard-controller --link shipyard-rethinkdb:rethinkdb --link shipyard-swarm-manager:swarm -p 8080:8080 shipyard/shipyard:latest    server -d tcp://swarm:3375
然后就可以在浏览器访问182.48.115.237这台机器的8080端口, 就能看到shipyard的登录页面拉, 默认账户是 admin, 密码shipyard.

DSC0000.png

DSC0001.png

DSC0002.png




4)registrator状态获取
manager-node节点(182.48.115.237)
[iyunv@manager-node ~]# docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 182.48.115.237 consul://182.48.115.237:8500
node1节点(182.48.115.238)
[iyunv@node1 ~]# docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 182.48.115.238 consul://182.48.115.238:8500
node2节点(182.48.115.239)
[iyunv@node2 ~]# docker run -d --restart=always --name=registrator --net=host -v /var/run/docker.sock:/tmp/docker.sock gliderlabs/registrator -ip 182.48.115.239 consul://182.48.115.239:8500
参数解释:
-v /var/run/docker.sock:/tmp/docker.sock     映射docker的socket到container中的对应位置, 这样 registration 就能监控有哪些服务启动了.
consul://localhost:8500 consul 绑定到本地的 consul 接口上

  打开http://182.48.115.237:8500,访问consul服务
DSC0003.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-421188-1-1.html 上篇帖子: docker容器网络通信原理分析 下篇帖子: jexus docker
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表