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. [原]调试实战——使用windbg调试DLL卸载时的死锁

    原调试debugwindbg死锁deadlock 前言 最近我们的程序在退出时会卡住,调查发现是在卸载dll时死锁了.大概流程是这样的:我们的dll在加载的时候会创建一个工作线程,在卸载的时候,会设置 ...

  2. teminal / console / shell

    console从应用程序角度看的(控制台是管理员用的,唯一的) teminal从用户角度看的(终端是用户用的) 应用程序与console交互 用户与teminal交互 teminal可以不存在 tem ...

  3. Maven--传递性依赖和依赖范围

    依赖范围不仅可以控制依赖与三种 classpath 的关系,还对传递性依赖产生影响. 假设 A 依赖于 B,B依赖于 C,我们说 A 对于 B 是第一直接依赖,B 对于 C 是第二直接依赖,A 对于 ...

  4. 了解SSL证书从HTTPS开始 开发者绕不开的“劫”

    微信小程序上线已经有很长一段时间了,而开发者在接入小程序的过程中,会遇到一些问题,例如小程序要求必须通过HTTPS完成服务端通信,开发者需搭建HTTPS服务,进行 SSL 证书申请.部署,完成HTTP ...

  5. aiohttp web服务端(server)样例 (非client)

    python版本 python3.6 (其他版本需要小改,版本>python3.4) 参考网址:https://www.cnblogs.com/ameile/p/5589808.html  as ...

  6. iOS中代理属性为什么要用Weak修饰?

    一.写在前面 代理设计模式,在iOS开发过程中,是一个非常常见的设计模式,可以说用的范围非常广泛,而对初学者来讲,常常对代理的属性修饰用weak存在疑惑,因此下面就解释一下其中非常简单的道理. 二.必 ...

  7. 2019-2020-1 20199324《Linux内核原理与分析》第九周作业

    第八章 进程的切换和系统的一般执行过程 1.进程调度的时机 硬中断和软中断 中断:在本质上都是软件或者硬件发生了某种情形而通知处理器的行为,处理器进而停止正在运行的指令流(当前进程),对这些通知做出相 ...

  8. SaltSatck常用指令一

    1.查看版本号: salt --version [root@master ~]# salt --version salt (Fluorine) [root@master ~]# 2.显示依赖关系及版本 ...

  9. Drools规则引擎详解-常用的drl实例

    package droolsDemo //说明:每个 drl 都必须声明一个包名,这个包名与 Java 里面的不同,它不需要与文件夹的层次结构一致, //主要用于可以根据kmodule.xml中不同的 ...

  10. Perl:只是把“^”作为匹配的单字:只是匹配每一行的开头 $lines =~ s/^/file_4_ex_ch7.txt: /gm;

    Perl:只是把“^”作为匹配的单字:只是匹配每一行的开头                     $lines =~ s/^/file_4_ex_ch7.txt: /gm;