上一篇中介绍了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. 移动端web开发的那些坑

    1.为非a列表项添加触感样式 通过js注册touchstart和touchend事件,添加触感class的方式, 有个坑,低版本的Android浏览器,经常触发不到touchend,需要再额外注册一个 ...

  2. WebGIS中基于控制点库进行SHP数据坐标转换的一种查询优化策略

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.前言 目前项目中基于控制点库进行SHP数据的坐标转换,流程大致为:遍 ...

  3. CE修改器修改DNF 测试视频 阿修罗提升智力增加攻击力

    使用CE修改器来修改网络游戏,如DNF 测试视频: CE修改器:指的是Cheat Engine,字面上的意思指的是作弊引擎的意思,是一款内存修改编辑工具.通过修改游戏的内存数据来得到一些原本无法实现的 ...

  4. C# VLCPlayer视频播放器(附源码)

    VLCPlayer视频播放器. 支持本地播放,支持网络URL.支持全屏,截图. 基于VLCPlayer. 附带基本代码. 下载地址:http://pan.baidu.com/s/1nvjNvID

  5. Sql常用语句(3)

    --显示sql server现有的所有数据库 exec sp_helpdb --查看数据表设置的约束 exec sp_helpconstraint SubjectType --update selec ...

  6. C# Linq排序

    今天在家看了一下linq,实践了一下书中代码,发现排序和查重的先后顺序太重要了. using System; using System.Collections.Generic; using Syste ...

  7. C#开发微信门户及应用(23)-微信小店商品管理接口的封装和测试

    在上篇<C#开发微信门户及应用(22)-微信小店的开发和使用>里面介绍了一些微信小店的基础知识,以及对应的对象模型,本篇继续微信小店的主题,介绍其中API接口的封装和测试使用.微信小店的相 ...

  8. 设计模式之单例模式的简单demo

    /* * 设计模式之单例模式的简单demo */ class Single { /* * 创建一个本类对象. * 和get/set方法思想一样,类不能直接调用对象 * 所以用private限制权限 * ...

  9. vue.js初级入门之最基础的双向绑定操作

    首先在页面引入vue.js以及其他需要用到的或者可能要用到的插件(这里我多引用了bootstrap和jquery) 引用的时候需要注意文件的路径,准备工作这样基本就完成了,下面正式开始入门. vue. ...

  10. SVG 文本

    该部分为四个主要部分: 1.  <text>和<tspan>标签详解 2.  文本水平垂直居中问题 3.  <textpath>让文本在指定路径上排列  4 ...