在前一篇博文中我们了解了阿里云容器服务的路由机制:

请求 -> 负载均衡80端口 -> 容器主机9080端口 -> acsrouting路由容器80端口 --基于域名--> Web站点容器的80端口

在这篇博文中,我们用nginx镜像创建一个容器实际体验一下。

使用容器服务首先要创建一个集群(Cluster),比如这里我们创建一个名叫websites的集群(使用的是swarm mode):

创建好集群后,点击“管理”,进入集群管理页面 -> “负载均衡” -> “域名设置”,修改为自己的域名(默认域名是alicontainer.com),这样可以通过自己的域名访问容器中的站点。

注:此处有坑,被坑了一个周末的下午,而阿里云帮助文档中只字未提。修改域名设置后一定要在应用列表中“重新部署”acsrouting系统应用:

不然,访问时总是出现下面的错误:

503 Service Unavailable

No server is available to handle this request.

接下来,进入容器服务管理控制台的“镜像与方案” -> “编排模板”(Orchestration Templates)页面,点击“创建”进入“创建编排”页面,填写自己的编排。比如,我们想通过 nginx.cnblogs.com 这个域名访问容器中的站点,我们是这样编排的:

(注:上图中不需要添加aliyun.lb.port_80设置)

编排说明:

  1. 我们的集群用的是swarm mode,所以这里用v3版本模板( version: "3" )。
  2. 镜像用的是nginx
  3. aliyun.routing.port_80 设置的是路由至该容器的域名,比如我们要针对 nginx.cnblogs.com 域名进行路由,只需要写二级域名 nginx ,后缀已经在之前的“负载均衡 -> 域名设置”中设置了。
  4. aliyun.lb.port_80 设置的是所绑定的负载均衡,格式是 tcp://{负载均衡ID}:{负载均衡前端端口} ,这里对应的负载均衡是创建集群时自动创建的负载均衡(如果不是自动创建的,需要在“集群 -> 管理 -> 负载均衡”中绑定负载均衡 )。 aa(后来知道这里不需要添加aliyun.lb.port_80设置,这个设置会自动配置负载均衡,带来的后果是删除应用时,对应的负载均衡配置也会被删除)

创建好编排之后,以此编排创建应用:

应用创建成功后,就可以在应用的“路由列表”中看到应用所绑定的域名:

最后,添加一下域名的dns解析或者hosts解析,就可以通过浏览器访问运行在容器中的nginx站点:

终于搞定!先苦后甜的一次品尝,使用阿里云容器服务进行自动化部署的重要一步。

品尝阿里云容器服务:用nginx镜像创建容器,体验基于域名的路由机制的更多相关文章

  1. 阿里云ECS服务安装 nginx+php+MariaDB完整版

    安装 Nginx想在 CentOS 系统上安装 Nginx ,你得先去添加一个资源库,像这样: vim /etc/yum.repos.d/nginx.repo使用 vim 命令去打开 /etc/yum ...

  2. 品尝阿里云容器服务:初步尝试ASP.NET Core Web API站点的Docker自动化部署

    部署场景是这样的,我们基于 ASP.NET Core 2.0 Preview 1 开发了一个用于管理缓存的 Web API ,想通过阿里云容器服务基于 Docker 部署为内网服务. 在这篇博文中分享 ...

  3. 【New Feature】阿里云快照服务技术解析

    一.背景   目前上云已经成为行业发展趋势,越来越多的企业级客户将业务系统和数据库迁移到云上.而传统的备份一体机/备份软件方式,并不适合云上ECS.RDS等产品的备份与容灾服务.阿里云块存储服务提供云 ...

  4. ACK容器服务虚拟节点使用阿里云日志服务来收集业务容器日志

    按照这篇博文的介绍,可以在ACK集群上通过Helm的方式部署虚拟节点,提升集群的弹性能力.现在,通过虚拟节点部署的ECI弹性容器实例也支持将stdout输出.日志文件同步到阿里云日志服务(SLS)进行 ...

  5. 阿里云Kubernetes服务上使用Tekton完成应用发布初体验

    Tekton 是一个功能强大且灵活的 Kubernetes 原生开源框架,用于创建持续集成和交付(CI/CD)系统.通过抽象底层实现细节,用户可以跨多云平台和本地系统进行构建.测试和部署. 本文是基于 ...

  6. 杂项-分布式-EDAS:深度解析阿里云EDAS服务

    ylbtech-杂项-分布式-EDAS:深度解析阿里云EDAS服务 1.返回顶部 1. 深度解析阿里云EDAS服务 弹性伸缩 摘要: 第一种只适用于业务较少的情况,而在新业务不断增加的情况下,增加新应 ...

  7. 阿里云Kubernetes服务 - Service Broker快速入门指南

    4月底阿里云容器服务上线了基于Kubernetes集群的服务目录功能.阿里云的容器的服务目录遵循Open Service Broker API标准,提供了一系列的服务代理组件,实现了对主流开源服务如M ...

  8. 用StackExchange.Redis客户端连接阿里云Redis服务遇到的问题

    阿里云推荐的Redis服务.NET客户端是ServiceStack.Redis,但ServiceStack.Redis不支持异步,不支持.NET Core,于是尝试使用StackExchange.Re ...

  9. 阿里云 Redis 服务遇到的问题

    ERR unknown command eval 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: St ...

随机推荐

  1. oracle完全删除实例

    问题描述: 重建oracle库实例,因此要删除数据库实例 问题解决: 利用自用自带的dbca库管理,实现图形化删除实例  01.登录安装oracle数据库的linux 打开xshell企业版的Xman ...

  2. [转]Visual Studio 2010 中安装Qt 5.1

    截至目前(2013年7月12日)为止,Qt 的最高版本为Qt5.1,在该版本中已经将Qt Creator与Qt Lib集成在一个文件夹中,因此安装的时候较为方便,只需安装一个即可.因为Qt具有超强的可 ...

  3. C语言(C++语言)中##(两个井号)和#(一个井号)用法[转]

    文章来源:http://blog.csdn.net/starboybenben/article/details/49803315 C语言(C++语言)中的宏(Macro)属于编译器预处理的范畴,属于编 ...

  4. springboot本地读取resources/images没问题,上传到云服务器打成jar包就读取不到问题

    //String watermarkfileName = this.getClass().getClassLoader().getResource("images/watermark.png ...

  5. 在Windows服务器上启用TLS 1.2及TLS 1.2基本原理

    在Windows服务器上启用TLS 1.2及TLS 1.2基本原理 在Windows服务器上启用TLS 1.2及TLS 1.2基本原理 最近由于Chrome40不再支持SSL 3.0了,GOOGLE认 ...

  6. 总结Sql Server内置函数实现MD5加密

    --MD5加密 --HashBytes ('加密方式', '待加密的值') --加密方式= MD2 | MD4 | MD5 | SHA | SHA1 --返回值类型:varbinary(maximum ...

  7. 编译错误“The run destination My Mac is not valid for Running the scheme '***',解决办法

    [转载]   http://blog.csdn.net/duanyipeng/article/details/8007684   编译错误"The run destination My Ma ...

  8. hdoj:2022

    #include <iostream> #include <string> using namespace std; int main() { int m, n; int x, ...

  9. Ubuntu命令行

    1.打开图形界面的终端 打开:Ctrl+Alt+T 退出:Ctrl+D 2.打开DOS界面的终端 打开:Ctrl+Alt+F1(F1~F6) 退出:Ctrl+Alt+F7 3.用户 ubuntu初始r ...

  10. Ubuntu上运行Blender,在控制台上查看运行结果

    1.首先在控制台打开Blender. 具体操作:找到Blender的安装路径,我的是:/home/lcx/下载/blender-2.78c-linux-glibc219-x86_64 $cd /hom ...