专栏首页散尽浮华Docker可视化界面(Consul+Shipyard+Swarm+Service Discover)部署记录

Docker可视化界面(Consul+Shipyard+Swarm+Service Discover)部署记录

前面一篇说到了Docker管理工具-Swarm部署记录,基于这个环境,下面记录下Docker可视化界面部署过程:

1)下载相关惊喜

manager-node节点(182.48.115.237)
[root@manager-node ~]# docker pull progrium/consul
[root@manager-node ~]# docker pull rethinkdb
[root@manager-node ~]# docker pull shipyard/shipyard 
[root@manager-node ~]# docker pull gliderlabs/registrator

node1和node2节点上
[root@node1 ~]# docker pull progrium/consul
[root@node1 ~]# docker pull gliderlabs/registrator

2)启动consul

manager-node节点(182.48.115.237)
[root@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)
[root@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)
[root@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)
[root@manager-node ~]# docker run -d --restart=always --name shipyard-rethinkdb rethinkdb
[root@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)
[root@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)
[root@node2 ~]# docker run -d --restart=always --name shipyard-swarm-agent swarm:latest join --addr 182.48.115.239:2375 consul://182.48.115.237:8500

接着再回到manager-node节点上如下操作
[root@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.
4)registrator状态获取

manager-node节点(182.48.115.237)
[root@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)
[root@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)
[root@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服务

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Docker管理工具-Swarm部署记录

    介绍另一个管理工具Swarm的用法,Swarm是Docker原生的集群管理软件,与Kubernetes比起来比较简单。

    洗尽了浮华
  • Docker容器学习梳理--手动制作系统镜像

    docker官方和个人发布的镜像由于版本等各种原因,漏洞较多,已统计Docker Hub超过30%的官方镜像包含高危漏洞。此外,由于网络等原因也会造成docke...

    洗尽了浮华
  • Docker环境编译时的两个错误记录

    洗尽了浮华
  • Docker管理工具-Swarm部署记录

    介绍另一个管理工具Swarm的用法,Swarm是Docker原生的集群管理软件,与Kubernetes比起来比较简单。

    洗尽了浮华
  • 使用Docker-Docker for Web Developers(2)

    1. 使用镜像 1.1 在Docker Hub上查找镜像 我们查找一下之前博客里面,推送到Docker Hub里面的bage88/docker-demo,能看到...

    八哥
  • 微信、QQ都在用的腾讯云EB级对象存储架构剖析

    腾讯技术工程官方号
  • Docker之修改docker默认的目录

     默认情况下Docker会使用/var/lib/docker,此目录会放镜像好容器及卷的信息,有时候,我们想换到其它目录,而不是此目录下,那么怎么处理呢?

    克虏伯
  • 从升级服务器系统聊聊编写脚本

    本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)

    soulteary
  • 从升级服务器系统聊聊编写脚本

    本文使用「署名 4.0 国际 (CC BY 4.0)」许可协议,欢迎转载、或重新修改使用,但需要注明来源。 署名 4.0 国际 (CC BY 4.0)

    soulteary
  • 【MYSQL计算表记录占空间大小】

    SELECT table_name, table_rows, data_length + index_length, CONCAT( ...

    用户5640963

扫码关注云+社区

领取腾讯云代金券