Docker 容器管理:rancher
Rancher:https://www.cnrancher.com/
是一个开源的企业级全栈化容器部署及管理平台。
定位上和 K8s 比较接近,都是通过 web 界面赋予完全的 docker 服务编排功能。是一个可以让你通过 web 界面管理 docker 容器的平台。
rancher 的特色
平台部署方便。管理 docker 的平台本身也基于 docker 部署。只要你有 docker ,一句命令就完成平台的部署了。
平台扩展方便。通过 agent 机制,一句 docker 命令完成 agent 部署,快速增加你的物理机。同时也支持 AWS 等云主机, 2.0 版本甚至还支持 K8s 。
服务部署方便。通过应用商店,2步完成应用部署,而且还是像 docker-compose 那样各个中间件独立编排,可以随时扩容的哦。
自带账户权限。相比 K8s 没有账号管理,rancher 自带账号权限体系。账号可以独立创建,也可以很方便地接入 ldap 等账号体系。对于公司使用是一大利器。
rancher 安装
- 部署 master
master 对系统基本没有要求,部署在centos 、ubantu、 mac 或者 windows 上都行。
# 下载容器
docker pull rancher/server
# 数据库数据内置。缺点是如果容器损坏了,数据就不可恢复
命令行参数解释:
docker run 的 -d 参数标示在后台运行, --restart=always 容器如果异常停止自动重启。-p 8080:8080 把 Rancher 服务器的UI 对外服务(容器内)的端口 8080 ,绑定到到宿主机的
8080 端口。 后面跟的镜像名 rancher/server ,Docker 会首先检查本地有没有这个镜像,如果没有,Docker 会去 Docker Hub 将这个镜像下载下来,并且启动。
docker run -d --restart=unless-stopped -p 8089:8080 rancher/server
# **推荐**数据库数据外置。即使容器坏了,数据还在,重新再建一个容器即可
docker run -d -v <host_vol>:/var/lib/mysql --restart=unless-stopped -p 8089:8080 rancher/server
用浏览器打开 Rancher 服务器容器 UI 界面
http://192.168.50.151:8089

Rancher 服务器配置
添加账号
首次登录,还没有配置访问权限,为了安全期间,首先点击上面的 ACCESS CONTROL 来新建一个本地账号和密码。

点击 Enable Local Authentication,打开本地验证,下次就需要输入用户名和密码才能登录了。
添加主机
主机是 Rancher 工作的节点,类似服务器虚拟化的 Hypervisor,我们现在做 All-in-one 测试,将宿主机添加到 Rancher 节点主机。

选择 APPLICATIONS 下面的 Add Host,弹出的界面选择 Custom,将页面第 4 步出现的内容复制粘贴下来。拿到宿主机的命令行执行。
部署 agent
将上述的命令拷贝到宿主机粘贴执行,agent 用到比较多的 docker 特性,建议使用 linux 机器。我用的是 centos7
agent 的启动命令可以在界面上自动生成,唯一需要填写的是 agent 所在主机的 ip 地址会自动下载 rancher/agent 镜像并运行。等待下载完毕。查看一下进程,多出一个 rancher/agent 的进程,并且已经运行。此时再回网页查看 Web 控制台界面,查看 Host 添加之后的结果。

可以看到已经多了一台活动主机(宿主机),上面运行一个 Rancher Server 容器,就是 Rancher 服务器自己。如果你有其他主机,也可以添加其他主机进来。
通过 Web UI 运行容器
现在通过图形界面来运行容器,而不是通过命令行。

添加容器
在 INFRASTRUCTURE 标签选择 CONTAINERS,选择 Add Container
1 输入 first_container 作为容器名称
2 使用默认的 Ubuntu 14.04.3 镜像
3 点击Create 按钮

经过几秒钟可以看到多出一个 first_container 容器和一个 Network Agent。first_container作为本测试创建的容器。

1 在新建的 Ubuntu 容器的菜单上点击向下按钮
2 在Web 页面中选择运行 Shell 选项

以后就可以在此操作容器了。如果您偏爱 CLI 命令行,可以直接到宿主机的命令行操作。
rancher 应用商店使用
rancher 的应用商店是它的核心功能。通过应用商店,只需要2步界面操作就可以完成一个应用的部署。

以 sonarquebe 为例:
第一步,选择应用。点击 sonarquebe 下面的【查看细节】按钮

第二步,点击启动。当然如果有需要的话,也可以选择下服务版本。其它配置如无特殊需要,一般不需要改动。
然后 sonar 服务就创建出来了。
访问地址,可以点击负载均衡的 Ports 链接,直接打开。
注意:如果是首次创建,agent 需要花几分钟下载镜像,具体耗时取决于网速。
相信聪明的朋友已经猜到了。应用商店除了官方自带的应用,我们自己也可以配置自己的应用商店哦。以后临时部署一个新的测试服务,直接2步解决。
更多
除了这些基本功能,rancher 还有很多功能。基础的有容器日志查看、shell 访问、资源占用监控等,扩展的还有多环境管理、多主机服务部署管理等。同时对容器的各种操作,也都可以通过 rancher-cli 、 rancher-compose 命令行工具或者其自带的 http api 进行控制。
扩展一下,还可以通过容器替换+http api 调用,做到快速重置数据库数据的效果(数据库数据内容事先放好到镜像中)。这对于一些经常需要 清空-重新初始化数据库的操作(例如跑自动化测试前重置数据库),可以节省下不少初始化数据耗费的时间。同时,数据库数据也通过镜像的版本管理,初步获得了版本管理。
Docker 容器管理:rancher的更多相关文章
- docker 容器管理常用命令
Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: create Create a new container 创建一个容器: ...
- docker 容器管理上
Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: docker start container_id //启动容器后,可以使用 ...
- Docker-compose 多个Docker容器管理:以MYSQL和Wordpress为例
搬砖的陈大师版权所有,转载请注明:http://www.lenggirl.com/tool/docker-compose.html Docker-compose 多个Docker容器管理:以MYSQL ...
- Docker系列三:Docker容器管理
Docker容器管理 1. 单一容器管理 1) 容器的启动 $ docker run --name gitlab-redis -d --volume /srv/docker/gitlab/redis: ...
- docker容器管理及网络管理
防火墙规则—— INPUT 主要用于主机防火墙,设置规则屏蔽处理进入本机的数据包示例:禁止10.180.100.141这个机器访问我本机的web服务iptables -t filter -A INPU ...
- docker容器管理-含静态Ip(10)
docker run命令详解 docker run -t #表示分配一个伪终端 -i #表示让容器的标准输入打开,不跟这个参数容器启不来 -d #后台运行 -P #dockerfile中EXPOSE ...
- Docker学习第二天(Docker容器管理)
简介 emmmm Docker 容器管理 推荐文章:容器技术概述 run里面的子选项 1.使用run命令创建容器 docker container run -it ubuntu /bin/bash / ...
- 四、docker容器管理
一.docker容器管理 1.1 容器查看-ps命令 显示本地容器列表,但是默认不显示关闭的容器,只显示运行中的容器,除非加上命令选项 -a 用法:docker ps [-a 显示所有容器,默认只显示 ...
- Docker容器管理平台Rancher高可用部署——看这篇就够了
记得刚接触Rancher时,看了官方文档云里雾里,跟着官网文档部署了高可用Rancher,发现不管怎么折腾都无法部署成功(相信已尝试的朋友也有类似的感觉),今天腾出空来写个总结,给看到的朋友留个参考( ...
随机推荐
- 腾讯爱玩某处csrf导致骚扰用户(QQ弹窗+QQ会话+微博)
点击提醒,然后抓包: POST /dyid_proc.php HTTP/1.1 Host: tx.qq.com User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW ...
- Android学习之——如何将GridView内嵌在ScrollView中
最近在做一个项目,有一个需求是在ScrollView中内嵌一个GridView. 刚开始,我是以为能直接内嵌在里面: <ScrollView android:layout_width=" ...
- Java 11正式发布,这几个逆天新特性教你写出更牛逼的代码
就在前段时间,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用! 这无疑对我们来说是一大好的消息.作为一名java开发者来说,虽然又要去学习和了解java11 ...
- 使用 Python 解数学方程
SymPy是符号数学的Python库.它的目标是成为一个全功能的计算机代数系统,同时保持代码简洁.易于理解和扩展 服务器Ubuntu 1.安装Python 2.安装SymPy库 sudo pip in ...
- 最简单安装laravel
http://laravelacademy.org/resources-download
- SQL Compare数据库比较工具 完全破解+使用教程
来源http://www.cnblogs.com/duci/articles/4482665.html 一.使用教程 SQL Compare是编程人员常用的比较两个数据库之间差异的工具.可以用来比较数 ...
- C#调用Delphi的dll之详解
C#调用Delphi接口方法,有两种解决办法: 一.将Delphi程序编译成一个COM组件,然后在C#里引用COM组件. 二.非托管调用Dephi的DLL文件. 这里我们主要讲解一下第二种方法,讲第二 ...
- C#------Aspose的License文件
Aspose官网: https://docs.aspose.com/display/cellsnet/Home 下载地址: http://vdisk.weibo.com/s/uoya0tRiZNf0X ...
- 一段代码让DedeCMS完美兼容PHP5.4
DedeCMS V5.7版本,在本地部署后,正确登录后台的情况下页面没有任何输出和显示(错误登录或密码错误时才有显示),也没有报错.进到脚本调试,发现问题出在userLogin类所在的脚本userlo ...
- WPF中的命令与命令绑定导航
1.WPF中的命令与命令绑定(一) (引入命令) 2.WPF中的命令与命令绑定(二)(详细介绍命令和命令绑定)