上一篇中介绍了Bluemix的Containers服务以及如何使用自定义的docker image创建一个容器实例并对外提供服务。除了自定义镜像之外,Bluemix Containers还可以使用Docker Hub上的image来创建容器实例,前提是这些image必须是公共的(public)。

Bluemix的CLI可以完成从Docker Hub复制镜像的任务。

sudo cf ic cpi tomcat: registry.ng.bluemix.net/htcn_us_south_1/tomcat:

执行上述命令后,就把一个tomcat 7的image从docker hub复制到Bluemix的私有repository中了。使用“cf ic”登录到Bluemix和私有repository的url格式在此就不再赘述了,具体请参考上一篇中的介绍。

镜像复制完成,就可以在web控制台中看到并可以使用这个复制过来的镜像创建新的容器实例。

生产环境中高可用是必不可少的。Bluemix的Containers服务提供了scalable group功能以实现docker容器的高可用部署。

在创建新容器实例的页面上选择“Scalable”tab,开始创建scalable group。

注意“HTTP port”字段,这里只能填写image中暴露出来的端口号,即:Dockerfile中EXPOSE的端口号。例如:tomcat镜像中默认expose的端口号是8080,因此需要在HTTP port中填写“8080”。

HOST字段指定一个访问scalable group的公网域名,这里我们指定的完整域名为:“hunter-demo-1.mybluemix.net”。当然这个域名必须是全局(全球)唯一的(这种方式有点像Microsoft Azure的云服务)。公网域名后面对应了一个负载均衡器(GoRouter,一个支持负载均衡的反向代理),将访问流量分发给scalable group里面的每个容器实例。这个负载均衡器看起来比较简单,只是将前端流量以轮询的方式转发到后端。没有会话保持,也没有端口映射。一个比较有特色的功能是:负载均衡器实例上默认绑定了一个ssl证书,直接可以使用HTTPS协议来访问部署在容器实例中的应用,而不需要应用本身支持HTTPS协议!这个功能很容易就让应用支持HTTPS协议,而不需要在web服务器上进行复杂的配置。用户到负载均衡器之间使用HTTPS协议通讯,负载均衡器到应用实例之间使用HTTP协议。

Scalable group创建完成后,通过HOST域名可以访问到部署在容器中的应用。

接下来为scalable group创建auto-scaling policy:

可以根据cpu和memory两个指标来定义容器实例缩放规则。

包括指定在当前scalable group中运行的最大容器实例数量和最小容器实例数量。

Scalable group中的实例支持自动恢复功能。Bluemix Containers服务的"Health Monitor"组件每隔90秒会对每个容器实例中的HTTP服务器进行一次探测,若某个容器实例连续2次探测失败,则该容器实例就会被自动的销毁并重建。

一个scalable group中至少要包含2个容器实例,这样才能确保高可用。配合"auto discovery"功能,个人经验建议在一个scalable group最少包含3个容器实例。

IBM Bluemix体验:Containers进阶的更多相关文章

  1. IBM Bluemix体验:Containers

    国际版的Bluemix目前有三个region,US South,United Kingdom和Sydney.其中US South是功能最全的,UK其次,Sydney功能最少.Containers服务在 ...

  2. IBM Bluemix体验:Containers持久存储

    上一篇介绍了在Bluemix Containers服务中使用docker hub镜像和container的高可用配置.接下来我们尝试如何在容器中使用持久存储. 在Bluemix的Containers服 ...

  3. 在IBM Bluemix上部署Hyperledger应用

    简介 IBM Bluemix (http://www.ibm.com/bluemix‎)是一个基于cloud的应用开发和部署平台,提供包括多种服务和运行环境的支持.对Hyperledger应用开发者而 ...

  4. 【OK210试用体验】进阶篇(2)视频图像采集之MJPG-streamer编译(arm移植)

    上一篇([OK210试用体验]进阶篇(1)视频图像采集之MJPG-streamer编译(Ubuntu系统下))进行了MJPG-streamer在Ubuntu下的编译及测试,这一篇针对OK210,进行a ...

  5. 基于IBM Bluemix的数据缓存应用实例

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka 摘要:IBM® Data Cache for Bluemix 是快速缓存服务.支持 Web 和 ...

  6. Eclipse上开发IBM Bluemix应用程序

    林炳文Evankaka原创作品. 转载请注明出处http://blog.csdn.net/evankaka 摘要:本文主要解说了怎样使用安装EclipseIBM Bluemix插件.并在Eclipse ...

  7. 第一部分:IBM量子体验

    (一)量子世界    今天的计算机使用标准的(或用物理学家的话来说,“经典的”)计算模型来执行计算与处理信息,此计算模型要追溯到图灵(Turing)和冯・诺伊曼(Von Neumann)时期.在此模型 ...

  8. 【OK210试用体验】进阶篇(1)视频图像采集之MJPG-streamer编译(Ubuntu系统下)

    转自: http://bbs.elecfans.com/jishu_510084_1_1.html 本篇主要内容分为: 嵌入式视频图像开源库     mjpg-streamer简介     mjpg- ...

  9. IBM Cognos 10.2 最新体验之旅

    IBM Cognos Data Manager 数据集市的构建利器 本文详细的介绍了 Cognos 最新版本 10.2 的数据集市构建器 Data Manager 的使用,对于希望系统了解 Cogno ...

随机推荐

  1. 牛逼的css3:动态过渡与图形变换

    写css3的属性的时候,最好加上浏览器内核标识,进行兼容. -ms-transform:scale(2,4); /* IE 9 */ -moz-transform:scale(2,4); /* Fir ...

  2. sql无限递归查询

    --------------所有子集数据包括自己--------------------- CREATE PROCEDURE ALLSON @ID INT AS BEGIN WITH CTE AS ( ...

  3. Phantomjs+Nodejs+Mysql数据抓取(1.数据抓取)

    概要: 这篇博文主要讲一下如何使用Phantomjs进行数据抓取,这里面抓的网站是太平洋电脑网估价的内容.主要是对电脑笔记本以及他们的属性进行抓取,然后在使用nodejs进行下载图片和插入数据库操作. ...

  4. 前端打包构建工具grunt快速入门(大篇幅完整版)

    打包的目的和意义就不用叙述了直接上干货 http://www.gruntjs.net/getting-started里面的教程也太简单了,需要下一番功夫去研究才行.本文将grunt打包的常用方法都用实 ...

  5. 简简单单学会C#位运算

    一.理解位运算 要学会位运算,首先要清楚什么是位运算?程序中的所有内容在计算机内存中都是以二进制的形式储存的(即:0或1),位运算就是直接对在内存中的二进制数的每位进行运算操作 二.理解数字进制 上面 ...

  6. base的应用

    ------------父类   public class Person   {       public Person(string name,int age)    {       this.Na ...

  7. iOS绘制收益柱状图

    项目需求,参考了其他绘图demo,自己绘制出来了,不过代码改得有点乱,添加了很多变量,时间关系没用太合适的命名,逻辑处理也没进行优化. 看看效果图(虚线区域都是画的,其他区域添加的都是控件),附上源码 ...

  8. Aix/Linux下自动备份oracle数据库

    曾经有个同事,来回操作开发和生产的数据库,结果误删了生产的数据库,那种心情我想不是一般人能理解的,虽然说oracle可以有方法还原,但并不是彻底的. 所以,在工作中,不管是开发还是维护,备份数据库是非 ...

  9. Python (一) 简介、安装

    一.简介 Python:是著名的"龟叔"Guido van Rossum在1989年圣诞节期间,为了打发无聊的圣诞节而编写的一个编程语言. 那么Python 究竟是来做什么的? 首 ...

  10. Mysql性能优化二

    接上一篇Mysql性能优化一 建立适当的索引 说起提高数据库性能,索引是最物美价廉的东西了.不用加内存,不用改程序,不用调sql,只要执行个正确的'create index',查询速度就可能提高百倍千 ...