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. c#学习笔记02——接口

    本身并不实现功能,但提供一种模板定义,为从它继承类或结构提供了一种定义的规范 有了接口,程序员可以把程序定义的更积极啊清晰和条理化 理解接口 接口支持多继承:抽象类不能实现多继承 接口只能定义抽象规则 ...

  2. QMessageBox按钮自定义文字

    msgbox = QMessageBox()msgbox.setStandardButtons(QMessageBox.Yes|QMessageBox.No)msgbox.button(QMessag ...

  3. Kubernetes系列:Kubernetes Dashboard

    15.1.Dashboard 作为Kube认得Web用户界面,用户可以通过Dashboard在Kubernetes集群中部署容器化的应用,对应用进行问题处理和管理,并对集群本身进行管理.通过Dashb ...

  4. [CTS2019]随机立方体(容斥+组合数学)

    这题七次方做法显然,但由于我太菜了,想了一会发现也就只会这么多,而且别的毫无头绪.发现直接做不行,那么,容斥! f[i]为至少i个极值的方案,然后这里需要一些辅助变量,a[i]表示选出i个三维坐标均不 ...

  5. linux下特殊命令集锦

    1.ifconfig -a | grep enp0 | cut -d : -f 1   //按照:进行切割网络文件名 如:ifconfig `ifconfig -a | grep enp0 | cut ...

  6. java加载property文件配置

    1 properties简介: properties是一种文本文件,内容格式为:     key = value     #单行注释 适合作为简单配置文件使用,通常作为参数配置.国际化资源文件使用. ...

  7. android物理动画、Kotlin客户端、架构组件、菜单效果、应用选择器等源码

    Android精选源码 Android一个有趣的Android动画交互设计 android可伸缩日历效果源码 关于界面,全新的卡片风格,支持夜晚模式 Android 用 Kotlin 实现的基于物理的 ...

  8. iTOP-4418开发板_重实力_优势突出_有原理图源码开源

    核心板参数 尺寸:50mm*60mm 高度:核心板连接器组合高度1.5mm PCB层数:6层PCB沉金设计 4418 CPU:ARM Cortex-A9 四核 S5P4418处理器 1.4GHz 68 ...

  9. Z变换解差分方程的思考

    问题描述 今日碰到一道差分方程的题目,如下 [ y(n + 2) - cfrac{7}{10}y(n + 1) + cfrac{1}{10}y(n) = 7x(n+2) -2 x(n + 1) ] 已 ...

  10. 41)PHP,数据库函数的注意点

    (1)那个mysqli_connect()            函数返回的是一个数据库连接对象,所以,你要是var_dump()这个函数的返回值,就是一个对象 (2)那个mysqli_query() ...