https://www.jianshu.com/p/5fb3e1a998d6

Docker For Mac 下安装 Rancher

原文:如何在 OS X 上安装 Rancher

Rancher 是 Docker 编排解决方案的一种,好处在于可以做容器编排,网络,存储,负载均衡,还能够支持云服务器(比如 Amazon EC2/Azure/DigitalOcean)也能够兼容 Docker Swarm/Mesos/Kubernetes 等其他的解决方案。自它还没有发布也有受到持续的关注。它自身还有个 RancherOS对于 CoreOS 也是一个不小的威胁。

 
rancher_catalog.png

由于它提供非常优化的后台管理界面,同时也提供 REST API,日常开发使用中异常的方便。如果非要说出一点不好的,那可能就是它对内存有点小要求: 最小 1GB 内存,因此如果想放在自己 VPS 上的童鞋需要评估下了。

Mac 安装

这块也趁着 Docker for Mac的好处,终于摆脱的 docker-machine的折磨,不用在依赖 VirtualBox,也不在每次装载 machine 的变量和查找虚拟机的 IP。映射的端口端口都通过 localhost访问。
Rancher 通过 Docker 来安装本来说是非常简单的,它分为服务端和客户端。本教程以 Single Node来讲解,不考虑 Multi Node

这块网上一直没有太好的解决方案,我看很多国外给出的 解决方案也比较麻烦,主要是由于 Docker for mac 使用的是 xhyve 作为轻量化的虚拟化方案,而 rancher 安装 server 端没有任何问题,在添加主机的时候需要通过 HTTP 来连接 server 端而失败。下面我来带大家用最简单的方案来拆解。无需任何第三方的辅助。

服务端

如果网速连接 docker hub 过慢可考虑使用代理设置或者国内的镜像服务,我这里分享一个https://docker.mirrors.ustc.edu.cn,可在 Docker -> Preferences… -> Advanced -> Registry Mirror 添加。

$ docker run -d --name rancher-server --restart=always -p 8181:8080 rancher/server
$ docker logs -f rancher-server
......
time="2016-11-24T03:29:30Z" level=info msg="Updating machine jsons for [packet packet amazonec2 azure digitalocean]"
time="2016-11-24T03:29:31Z" level=info msg="Creating schema machine, roles [service]" id=1ds17
time="2016-11-24T03:29:32Z" level=info msg="Creating schema machine, roles [project member owner]" id=1ds18
time="2016-11-24T03:29:32Z" level=info msg="Creating schema machine, roles [admin user readAdmin]" id=1ds19
time="2016-11-24T03:29:32Z" level=info msg="Creating schema machine, roles [readonly]" id=1ds20
time="2016-11-24T03:29:41Z" level=info msg=Event eventId=dad01e6e-672c-47bf-8e64-342690a91780 name="machinedriver.activate;handler=goMachineService-machine" resourceId=1md1

看到如上类似的日志说明服务已经初始化完毕,通过浏览器访问http://localhost:8181就可以看到后台管理界面。

客户端

先不着急继续页面操作,回到终端上执行如下命令获取 rancher-server 容器的 IP 地址备用

$ docker inspect --format '{{ .NetworkSettings.IPAddress }}' rancher-server
172.17.0.2

接着上面的步骤,在打开页面能看到 Add Host 按钮并点击对于弹出 “Host Registration URL” 选择 “Something else:” 在后面的输入框填入上面的 IP 和端口号 http://172.17.0.2:8080 并保存。
之后就是给你一个客户端(部署主机)的选项,由于我们只添加本机作为部署主机使用,因此这里选择 Custom,其他不用任何设置,直接滑倒最底部找到一个执行 docker 命令的区域:

 
rancher_host.jpg
docker run -d --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.0.2 http://172.17.0.2:8080/v1/scripts/C963E2BB46185F46E3A1:1479956400000:aNMAicxpI5BtVAzbLAZOp6rw  --name rancher-agent

你会发现执行可能会报错:

docker: Error response from daemon: Mounts denied:
The path /var/lib/rancher
is not shared from OS X and is not known to Docker.
You can configure shared paths from Docker -> Preferences... -> File Sharing.
See https://docs.docker.com/docker-for-mac/osxfs/#namespaces for more info.

目前有可能是一个 Docker 的 Bug,因为 /var/lib/rancher是挂载到已经默认添加 /private文件共享,但是它还是报错,如果你在 Docker 设置的 File Sharing 添加的话它也不会让你添加,因此我们需要做一点小修改:

docker run -d --privileged -v /var/run/docker.sock:/var/run/docker.sock -v ${HOME}/docker/rancher:/var/lib/rancher rancher/agent:v1.0.2 http://172.17.0.2:8080/v1/scripts/C963E2BB46185F46E3A1:1479956400000:aNMAicxpI5BtVAzbLAZOp6rw  --name rancher-agent

最后点击页面的 Close 后会跳转到 Host 的列表,你就能惊喜的发现添加成功了!

 
rancher_installed.jpg

作者:Virson
链接:https://www.jianshu.com/p/5fb3e1a998d6
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

Docker For Mac 下安装 Rancher的更多相关文章

  1. docker在mac下安装及配置阿里云镜像加速

    安装 brew cask install docker 配置 关于阿里云加速地址,下面会有详细说明 阿里云官方镜像加速 官方文档:https://help.aliyun.com/document_de ...

  2. Mac 下安装Jenkins

    Mac 下安装Jenkins 开始 Jenkins是一个基于Java开发的一种持续集成工具,用于建工持续重复的工作,功能包括: 持续的软件版本发布/测试项目 监控外部调用执行的工作. 近期打算搭建自动 ...

  3. MAC下安装与配置MySQL

    MAC下安装与配置MySQL   MAC下安装与配置MySQL 一 下载MySQL 访问MySQL的官网http://www.mysql.com/downloads/ 然后在页面中会看到“MySQL ...

  4. Mac下安装UPnP Inspector

    由于工作中需要用到UPnP Inspector这个工具,而这个工具在windows下安装非常简单,在Mac下安装却很麻烦,在此记录安装流程. 这个工具依赖于两个其他的库:Coherence(一个DLN ...

  5. Mac下安装Wireshark,双击闪退

     Mac OS X上使用Wireshark抓包(http://blog.csdn.net/phunxm/article/details/38590561) Mac下安装Wireshark /Appli ...

  6. Mac下安装zshell

    Mac 下安装zshell 什么是shell 大多数命令行用户接触最多的是Bash,因为Bash是各个版本操作系统(Linux&Mac)的默认shell. 查看当前使用的shell $ ech ...

  7. 【高可用HA】Apache (1) —— Mac下安装Apache Httpd到自定义路径(非/etc/apache2)

    Mac下安装Apache Httpd httpd版本: httpd-2.4.17 参考来源: Tomcat Clustering - A Step By Step Guide Apache HTTP ...

  8. 《OD大数据实战》mac下安装nginx+php

    一.mac安装nginx + php + php-fpm  或apache + php 1. Mac 下 Nginx.MySQL.PHP-FPM 的安装配置 2. Mac下安装LNMP(Nginx+P ...

  9. Mac下安装HBase及详解

    Mac下安装HBase及详解 1. 千篇一律的HBase简介 HBase是Hadoop的数据库, 而Hive数据库的管理工具, HBase具有分布式, 可扩展及面向列存储的特点(基于谷歌BigTabl ...

随机推荐

  1. 常用DOS命令(1) color,dir,copy,shutdown,mkdir(md),rmdir(rd),attrib,cd

    1.  color color [attr] 设置默认的控制台前景和背景颜色. attr        指定控制台输出的颜色属性.颜色属性由两个十六进制数字指定 -- 第一个对应于背景,第二个对应于前 ...

  2. 数据分析-Matplotlib:绘图和可视化

    学习路线 简介 简单绘制线形图 plot函数 支持图类型 保存图表 1.简介 Matplotlib是一个强大的Python绘图和数据可视化的工具包.数据可视化也是我们数据分析的最重要的工作之一,可以帮 ...

  3. springmvc中那些易被忽略的小知识点

    1.springmvc会为没有view的modelandview指定默认view 知道这个的时候我都惊呆了. 我从来都是手动指定view名字,今天看到别人写的代码竟然直接返回了个mav,貌似是在dis ...

  4. Tarjan算法:求解无向连通图图的割点(关节点)与桥(割边)

    1. 割点与连通度 在无向连通图中,删除一个顶点v及其相连的边后,原图从一个连通分量变成了两个或多个连通分量,则称顶点v为割点,同时也称关节点(Articulation Point).一个没有关节点的 ...

  5. RxJava的简单使用

    0x00 介绍 先简单介绍一下这个库,Rx的一系列实现都是为了解决同一个问题,就是让异步编程变的更加简单.它的主要思想是使用观察者模式,分离了数据源和数据的使用者,同时它拓展了观察者模式,将数据源中的 ...

  6. 12)PHP,常量和魔术常量

    义:用于存储一个不会变化也不希望变化的数据的标示符. 常量命名规则,同变量,但习惯说,常常将常量的名称使用“全大写”形式. 定义形式 使用define()函数定义 使用形式:define(“常量名”, ...

  7. [HNOI2019]序列(单调栈+二分)

    通过打表证明发现答案就是把序列划分成若干段,每段的b都是这一段a的平均数.50分做法比较显然,就是单调栈维护,每次将新元素当成一个区间插入末尾,若b值不满足单调不降,则将这个区间与单调栈前一个区间合并 ...

  8. shiro PermissionUtil

    package org.linlinjava.litemall.admin.util; import org.apache.shiro.authz.annotation.RequiresPermiss ...

  9. 吴裕雄--天生自然python机器学习:使用决策树预测隐形眼镜类型

    解决策树如何预测患者需要佩戴的隐形眼镜类型.使用小数据 集,我们就可以利用决策树学到很多知识:眼科医生是如何判断患者需要佩戴的镜片类型:一旦 理解了决策树的工作原理,我们甚至也可以帮助人们判断需要佩戴 ...

  10. 量化预测质量之分类报告 sklearn.metrics.classification_report

    classification_report的调用为:classification_report(y_true, y_pred, labels=None, target_names=None, samp ...