简介:

bluemix是基于kubernetes来服务的免费云空间。绑定信用卡后可以创建一个月的集群,一个月后会被删除。

下面示例介绍如何使用kubernetes dashboard来创建一个容器,并提供给公网服务。

示例教程为部署一个apache官方镜像,并映射80端口给公网服务。

一:创建集群

如下图位置,创建资源

或者点击左上角的然后选择仪表板

选择Kubernetes Service,两个位置一样,如下图所示

继续创建,如下图

选择资源位置,选择集群类型为免费,给定一个集群名称,然后创建集群。如下图所示。

自动进入集群概况,查看工作程序节点

等待状态

当工作状态变为正常,且有公共IP,则表示集群创建完毕。入下图所示。

二:部署镜像

我不教你们那些下载客户端,配置客户端,生成token……………………

简单的使用图形GUI来部署一个apache镜像。

记下你的公共IP,然后访问Kubernetes仪表板,如下图所示:

直接创建服务即可,如下图:

选择创建应用

应用名称随便自己写一个,容器镜像,是hub.docker.com里面的,本例是httpd,apache的官方镜像。

服务一定要选外部,这样才可以被外部访问,端口和目标端口都填80,镜像开放的是80,所以容器开放的也是80,外部访问也用80。容器组个数为1。

高级选项可以选择特权模式,环境变量。

点击部署后即可。

三:配置外部IP

首先记下你的公共IP,看前面有个地方告诉你。

概述中会看到服务下面的apache,我们刚创建的服务,不是绿色对号。

点击右边的三个点,编辑yaml文件。

其实只添加一行外部公共IP即可。

原有代码入下:

{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "apache",
"namespace": "default",
"selfLink": "/api/v1/namespaces/default/services/apache",
"uid": "7f6fbe12-0603-11e9-882d-************",
"resourceVersion": "",
"creationTimestamp": "2018-12-22T16:06:10Z",
"labels": {
"k8s-app": "apache"
}
},
"spec": {
"ports": [
{
"name": "tcp-80-80-4wg7q",
"protocol": "TCP",
"port": ,
"targetPort": ,
"nodePort":
}
],
"selector": {
"k8s-app": "apache"
},
"clusterIP": "172.***.***.***",
"type": "LoadBalancer",
"sessionAffinity": "None",
"externalTrafficPolicy": "Cluster"
},
"status": {
"loadBalancer": {}
}
}

增加后如下:

{
"kind": "Service",
"apiVersion": "v1",
"metadata": {
"name": "apache",
"namespace": "default",
"selfLink": "/api/v1/namespaces/default/services/apache",
"uid": "7f6fbe12-0603-11e9-882d-************",
"resourceVersion": "",
"creationTimestamp": "2018-12-22T16:06:10Z",
"labels": {
"k8s-app": "apache"
}
},
"spec": {
"ports": [
{
"name": "tcp-80-80-4wg7q",
"protocol": "TCP",
"port": ,
"targetPort": ,
"nodePort":
}
],
"selector": {
"k8s-app": "apache"
},
"clusterIP": "172.***.***.***",
"type": "LoadBalancer",
"externalIPs": [ #这行增加
"168.***.***.***1" #这是你的公共IP
], #这行增加
"sessionAffinity": "None",
"externalTrafficPolicy": "Cluster"
},
"status": {
"loadBalancer": {}
}
}

点击更新即可

四:验证

访问你的公共IP,即可测试。

apache的官方镜像,貌似,也就这么一句话,告诉你,工作正常。

结束语:

虽然只有一个月的时间,但是胜在免费,速度快。

想干什么,就看你了。

主要是修改一下yaml让服务知道监听哪个IP地址的信息。

推荐一个docker镜像

jackadam/bluemix

bluemix创建docker容器的更多相关文章

  1. zun 不能创建 docker 容器,报错: datastore for scope "global" is not initialized

    问题:zun不能创建docker容器,报错:datastore for scope "global" is not initialized   解决:修改docker 服务配置文件 ...

  2. Ubuntu 创建docker 容器 系列一

    docker 官网安装地址:https://docs.docker.com/install/linux/docker-ce/ubuntu/ 1.Ubuntu的版本要在12.04 LTS 以上,使用un ...

  3. 创建docker容器遇到的错误

    1.问题截图 2.问题描述 出现该问题就是docker版本和系统版本不兼容导致的. 现在的系统版本和docker的版本如下: 3.问题解决 安装低版本的docker或者高版本的系统(Centos7.4 ...

  4. 创建基于 AFS 的 Docker 容器卷

    标准的 Docker 容器卷一般是位于 Docker 主机上的一个本地目录.在这样的配置下,容器必须依赖于一台特定的主机,因此使得容器的迁移和扩展变得困难.通过使用容器卷插件,能让容器访问独立于主机的 ...

  5. Docker容器概念讲解

    Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,源代码托管在 Github 上, 基于go语言并遵从Apache2.0协议开源. Docker是通过内核虚 ...

  6. 【原创】Docker容器及Spring Boot微服务应用

    Docker容器及Spring Boot微服务应用 1 什么是Docker 1.1 Docker的出现 问题一:项目实施环境复杂问题 传统项目实施过程中经常会出现“程序在我这跑得好好的,在你那怎么就不 ...

  7. docker容器安装及使用技巧

    关于docker前言 A)首先是关于虚拟化 虚拟化我们可以简单的理解为一种资源管理方式.有如下几种虚拟化的方式: 1.完全虚拟化:对底层硬件实现完全的虚拟.例如:Vmware Workstation ...

  8. Docker容器技术

    Docker介绍 什么是容器 Linux容器是与系统其他部分隔离开的一系列进程,从另一个系统镜像运行,并由该镜像提供支持进程所需的全部文件. 容器镜像包含了应用的所有依赖项,因而在从开发到测试再到生产 ...

  9. Ubuntu16.04 部署安装Docker容器 & 注意事项

    一.部署安装Docker容器 1.1 Ubuntu下安装 crul sudo apt install curl curl是利用URL语法在命令行方式下工作的开源文件传输工具.它被广泛应用在Unix.多 ...

随机推荐

  1. Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析

    Java7/8 中的 HashMap 和 ConcurrentHashMap 全解析 今天发一篇”水文”,可能很多读者都会表示不理解,不过我想把它作为并发序列文章中不可缺少的一块来介绍.本来以为花不了 ...

  2. markdown test2

    #home { width: auto; margin: 0 80px 0 0; } mkdir test. #include <msxml6.h> // 含有 MSXML最新版 #inc ...

  3. Java基础学习-常量和变量

    1.常量概述     -在程序执行的过程中,其值不可以发生改变的量. 2.常量的分类     -字符串常量    用双引号括起来的内容("HelloWorld")     -整数常 ...

  4. Docker 简单部署 ElasticSearch

    https://www.cnblogs.com/jianxuanbing/p/9410800.html

  5. 补充资料——自己实现极大似然估计(最大似然估计)MLE

    这篇文章给了我一个启发,我们可以自己用已知分布的密度函数进行组合,然后构建一个新的密度函数啦,然后用极大似然估计MLE进行估计. 代码和结果演示 代码: #取出MASS包这中的数据 data(geys ...

  6. node 之 Buffer 笔记

    1. Buffer 相关 js 最初是被设计来处理 html的,因此它不善于处理二进制数据,只有数值和字符串类型.而 node 是基于 js 的,因为 node 需要实现一些譬如数据库通信.操作图像及 ...

  7. Ehcache计算Java对象内存大小

    在EHCache中,可以设置maxBytesLocalHeap.maxBytesLocalOffHeap.maxBytesLocalDisk值,以控制Cache占用的内存.磁盘的大小(注:这里Off ...

  8. [CentOS_7.4]Linux编译安装ffmpeg

    [CentOS_7.4]Linux编译安装ffmpeg   安装过程: 下载安装源,配置,编译,安装,设置环境变量. # wget http://www.ffmpeg.org/releases/ffm ...

  9. 关于AMD 、CMD、 commonjs的认识

    首先什么是amd.cmd和commonjs.总的来说,这三个玩意就是js的模块规范. 但是,这三者有什么区别呢.... amd规范是应用于浏览器,如requireJS. commonjs规范应用与服务 ...

  10. ExtJs写本地ArrayStore,ComboBox调用

    1.自定义本地ArrayStore var sCurStore = new Ext.data.ArrayStore({ //设备状态store fields: ["ckey", & ...