rancher初级(搭建+基本操作+web应用部署)
Rancher搭建
首先rancher需要安装了docker的linux环境,我的系统版本为

在docker的基础上启动rancher服务器,Rancher 服务器是一个 Docker image,所以其软件本身不需要安装,只需要执行 Docker 命令下载并且成功运行 Docker 服务器镜像即可。
执行命令 sudo docker run -d --restart=always -p 8080:8080 rancher/server
启动容器并指定端口,如果没有rancher/server镜像会自动下载。执行完成后查看镜像与容器运行情况:


以上步骤完成后,查看本机的ip地址,我的地址为192.1688.1.109,在浏览器输入http://ip:8080/,登录到rancher官网,为安全起见,设置管理账户

然后进行添加主机操作,根据网站指引操作,生成一条命令,在docker中运行
$ sudo docker run --rm --privileged -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/rancher:/var/lib/rancher rancher/agent:v1.2.5 http://192.168.1.109:8080/v1/scripts/9F78F0DF10BCF4216AC7:1483142400000:hSv7KrbGnhQy3IJmJWYhWvxemF4
会自动下载rancher/agent镜像

当在宿主机中运行完成后,网站中会显示成功添加主机

Rancher的环境
Environment在Rancher中被定义为主要用于容器编排和管理的环境,比如Dev或者TEST或者PROD环境等等。目前Rancher支持如下四种:Cattle/Kubernetes/Mesos/Swarm, Cattle是Rancher自己内置的缺省的编排环境,缺省的Default的即为Cattle类型的。
添加stack、添加、升级service、添加负载均衡、外部服务、服务别名、服务的端口绑定、服务链接、环境变量、健康检查等
在这里添加stack:myapp。为其添加服务nginx,镜像为nginx,暴露端口8888。

然后添加负载均衡,分担nginx服务的流量,在这里目标服务的端口需为镜像内部80端口,若设置为暴露出的8888端口则访问失败

通过负载均衡暴露出的端口90访问结果如下:

再添加外部服务,指向第一个nginx服务,并连接其暴露出的端口8888

然后再添加一个负载均衡,指向外部服务,暴露91端口:

访问91端口,得到同样的访问结果:

在这里注意负载均衡与外部服务的区别,负载均衡需要配置服务自身的端口,而外部服务需要为其配置其所链接服务所暴露出的端口
关于环境变量、服务链接可见接下来的部署web项目时的具体操作。
Web应用部署
添加stack webapp
为其添加服务classnet,其中为web内容以及服务器tomcat。服务镜像来自之前完成web容器化时自己所制作镜像,该镜像以上传至阿里云私有仓库。所以在添加该服务前,首先要将私有镜像仓库添加到rancher的镜像仓库:

然后添加classnet服务,暴露端口8899,通过该端口访问tomcat,测试是否添加成功:

然后添加数据库服务,在这里选择mysql镜像,除了配置端口,还需要为数据库设置环境变量,声明数据库访问的密码MYSQL_ROOT_PASSWORD与数据库名称MYSQL_DATABASE,这两个环境变量的具体值需要与web项目中的配置保持一致,具体环境变量的配置可以通过查看mysql官方镜像的说明:

再返回classnet服务,升级服务,设置服务连接,连接至mysql服务:

为网站添加负载均衡,暴露端口10086:

通过负载均衡所暴露端口访问网站主页:

rancher初级(搭建+基本操作+web应用部署)的更多相关文章
- Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
FastCGI编程包括四部分:初始化编码.接收请求循环.响应内容.响应结束循环. FCGX_Request request; FCGX_Init(); ); FCGX_InitRequest(& ...
- 【入门篇】Nginx + FastCGI 程序(C/C++) 搭建高性能web service的Demo及部署发布
http://blog.csdn.net/allenlinrui/article/details/19419721 1.介绍 Nginx - 高性能web server,这个不用多说了,大家都 ...
- office web apps 部署-搭建office web apps服务器
二.搭建office web apps服务器 相关文件可以去焰尾迭分享的百度网盘下载,下载地址:http://pan.baidu.com/s/1o6tCo8y#path=%252Foffice%252 ...
- LNMP动态网站架构及web应用部署,搭建discuz论坛
1)部署Nginx 实验tar安装包可找本人拿记得点+关注,感谢亲们支持,评论拿包 systemctl stop firewalld iptables -F setenforce 0 1)安装支持软件 ...
- 尹吉峰:使用 OpenResty 搭建高性能 Web 应用
2019 年 8 月 31 日,OpenResty 社区联合又拍云,举办 OpenResty × Open Talk 全国巡回沙龙·成都站,原贝壳找房基础架构部工程师尹吉峰在活动上做了<使用 O ...
- Eclipse 搭建 Maven Web项目
第一步:安装JDK: 第二步:安装Eclipse: 第三步:安装tomcat7: 第四步:安装maven插件: 4.1 下载maven:http://maven.apache.org/download ...
- 使用 Docker 搭建 Java Web 运行环境
黄勇的博客 Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都听说过它.Docker 是一种“轻量级”容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐 ...
- 转:使用 Docker 搭建 Java Web 运行环境
原文来自于:http://www.codeceo.com/article/docker-java-web-runtime.html Docker 是 2014 年最为火爆的技术之一,几乎所有的程序员都 ...
- 使用MyEclipse搭建java Web项目开发
转自:http://blog.csdn.net/jiuqiyuliang/article/details/36875217 首先,在开始搭建MyEclipse的开发环境之前,还有三步工具的安装需要完成 ...
随机推荐
- JavaEE互联网轻量级框架整合开发(书籍)阅读笔记(3):常用动态代理之JDK动态代理、CGLIB动态代理
一.动态代理的理解 动态代理的意义在于生成一个占位(又称代理对象),来代理真实对象,从而控制真实对象的访问. 先来谈谈什么是代理模式. 假设这样一个场景:你的公司是一家软件 ...
- Head First Python之2函数模块
模块就是一个包含Python代码的文本文件,以.py结尾. 第三方模块都在PyPI(python package index)上,可使用PyPI发布你的模块,供他人使用. 注释代码 # coding= ...
- ColorMatrixFilter色彩矩阵滤镜;
包 flash.filters 类 public final class ColorMatrixFilter 继承 ColorMatrixFilter BitmapFilter Object 使用 ...
- CreateExcel 导出Excel
public class CreateExcel { /// <summary> /// 用Excel组件导出Excel文件 /// </summary> /// <pa ...
- 【转】ANDROID自定义视图——onMeasure,MeasureSpec源码 流程 思路详解
原文地址:http://blog.csdn.net/a396901990/article/details/36475213 简介: 在自定义view的时候,其实很简单,只需要知道3步骤: 1.测量—— ...
- HackSeven Canvas上的动画
当自定义View的时候,可以利用Canvas给View添加一些动画效果. 下面的例子,是在屏幕上绘制一个红色的小方块,这个小方块会在屏幕上面“乱跳”. 知识点 使用到的知识点: (1) 在View的子 ...
- perationalError: (2003, "Can't connect to MySQL server on u'192.168.1.6' (timed out)")
在Ubuntu(192.168.1.20)中部署项目后,mysql还在另外一台windows(192.168.1.6)机子上,ping windows时可以ping通,但是访问项目提示: perati ...
- 以太坊系列之三: 以太坊的crypto模块--以太坊源码学习
以太坊的crypto模块 该模块分为两个部分一个是实现sha3,一个是实现secp256k1(这也是比特币中使用的签名算法). 需要说明的是secp256k1有两种实现方式,一种是依赖libsecp2 ...
- go的同步模型
首先来看一段代码,这是The Go Memory Model一文中的一个例子 var a, b int func f() { a = 1 b = 2 } func g() { ...
- C# 抽象(4)
抽象类和普通类有区别嘛?在继承的时候,还是只能继承一次父类嘛? 答案: 抽象类除了在抽象方法和属性上面不能实现具体的代码之外和普通类没有区别.依旧符合类的基本特征.所以在继承的时候抽象类也是属于基类, ...