品尝阿里云容器服务:用nginx镜像创建容器,体验基于域名的路由机制
在前一篇博文中我们了解了阿里云容器服务的路由机制:
请求 -> 负载均衡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设置)
编排说明:
- 我们的集群用的是swarm mode,所以这里用v3版本模板( version: "3" )。
- 镜像用的是nginx
- aliyun.routing.port_80 设置的是路由至该容器的域名,比如我们要针对 nginx.cnblogs.com 域名进行路由,只需要写二级域名 nginx ,后缀已经在之前的“负载均衡 -> 域名设置”中设置了。
- aliyun.lb.port_80 设置的是所绑定的负载均衡,格式是 tcp://{负载均衡ID}:{负载均衡前端端口} ,这里对应的负载均衡是创建集群时自动创建的负载均衡(如果不是自动创建的,需要在“集群 -> 管理 -> 负载均衡”中绑定负载均衡 )。 aa(后来知道这里不需要添加aliyun.lb.port_80设置,这个设置会自动配置负载均衡,带来的后果是删除应用时,对应的负载均衡配置也会被删除)
创建好编排之后,以此编排创建应用:
应用创建成功后,就可以在应用的“路由列表”中看到应用所绑定的域名:
最后,添加一下域名的dns解析或者hosts解析,就可以通过浏览器访问运行在容器中的nginx站点:
终于搞定!先苦后甜的一次品尝,使用阿里云容器服务进行自动化部署的重要一步。
品尝阿里云容器服务:用nginx镜像创建容器,体验基于域名的路由机制的更多相关文章
- 阿里云ECS服务安装 nginx+php+MariaDB完整版
安装 Nginx想在 CentOS 系统上安装 Nginx ,你得先去添加一个资源库,像这样: vim /etc/yum.repos.d/nginx.repo使用 vim 命令去打开 /etc/yum ...
- 品尝阿里云容器服务:初步尝试ASP.NET Core Web API站点的Docker自动化部署
部署场景是这样的,我们基于 ASP.NET Core 2.0 Preview 1 开发了一个用于管理缓存的 Web API ,想通过阿里云容器服务基于 Docker 部署为内网服务. 在这篇博文中分享 ...
- 【New Feature】阿里云快照服务技术解析
一.背景 目前上云已经成为行业发展趋势,越来越多的企业级客户将业务系统和数据库迁移到云上.而传统的备份一体机/备份软件方式,并不适合云上ECS.RDS等产品的备份与容灾服务.阿里云块存储服务提供云 ...
- ACK容器服务虚拟节点使用阿里云日志服务来收集业务容器日志
按照这篇博文的介绍,可以在ACK集群上通过Helm的方式部署虚拟节点,提升集群的弹性能力.现在,通过虚拟节点部署的ECI弹性容器实例也支持将stdout输出.日志文件同步到阿里云日志服务(SLS)进行 ...
- 阿里云Kubernetes服务上使用Tekton完成应用发布初体验
Tekton 是一个功能强大且灵活的 Kubernetes 原生开源框架,用于创建持续集成和交付(CI/CD)系统.通过抽象底层实现细节,用户可以跨多云平台和本地系统进行构建.测试和部署. 本文是基于 ...
- 杂项-分布式-EDAS:深度解析阿里云EDAS服务
ylbtech-杂项-分布式-EDAS:深度解析阿里云EDAS服务 1.返回顶部 1. 深度解析阿里云EDAS服务 弹性伸缩 摘要: 第一种只适用于业务较少的情况,而在新业务不断增加的情况下,增加新应 ...
- 阿里云Kubernetes服务 - Service Broker快速入门指南
4月底阿里云容器服务上线了基于Kubernetes集群的服务目录功能.阿里云的容器的服务目录遵循Open Service Broker API标准,提供了一系列的服务代理组件,实现了对主流开源服务如M ...
- 用StackExchange.Redis客户端连接阿里云Redis服务遇到的问题
阿里云推荐的Redis服务.NET客户端是ServiceStack.Redis,但ServiceStack.Redis不支持异步,不支持.NET Core,于是尝试使用StackExchange.Re ...
- 阿里云 Redis 服务遇到的问题
ERR unknown command eval 说明: 执行当前 Web 请求期间,出现未经处理的异常.请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息. 异常详细信息: St ...
随机推荐
- Mac Apache WebServer 服务器配置
前言 Apache 是目前使用最广的 Web 服务器,可以支持各种脚本的执行. Mac 系统自带,无需单独安装,只需要修改几个配置就可以,简单,快捷. 有些特殊的服务器功能,Apache 都能很好的支 ...
- 怎么去掉Xcodeproject中的某种类型的警告 Implicit conversion loses integer precision: 'NSInteger' (aka 'long') to 'int32
问题描写叙述 在我们的项目中,通常使用了大量的第三方代码,这些代码可能非常复杂,我们不敢修改他们,但是作者已经停止更新了,当sdk升级或者是编译器升级后,这些遗留的代码可能会出现许很多多的警告,那么 ...
- JAVA 线程池架构浅析
经历了Java内存模型.JUC基础之AQS.CAS.Lock.并发工具类.并发容器.阻塞队列.atomic类后,我们开始JUC的最后一部分:线程池.在这个部分你将了解到下面几个部分: 线程池的基础架构 ...
- easy_install与pip 区别
作为Python爱好者,如果不知道easy_install或者pip中的任何一个的话,那么...... easy_insall的作用和perl中的cpan,ruby中的gem类似,都提供了在线一键 ...
- 【Tomcat】Servlet 工作原理解析
Web 技术成为当今主流的互联网 Web 应用技术之一,而 Servlet 是 Java Web 技术的核心基础.因而掌握 Servlet 的工作原理是成为一名合格的 Java Web 技术开发人员的 ...
- layui:根据行内某个值,设定该行得背景色
done:function () { $("table tr").each(function () { var s = $(this).children().eq(1).text( ...
- Nginx的upstream目前支持5种分配方式
本文转自:http://mp.weixin.qq.com/s?__biz=MzI4OTU3ODk3NQ==&mid=2247484058&idx=1&sn=f4da816bfa ...
- Go Revel - app.conf
##概览 `app.conf`为应用程序的配置文件,它使用`goconfig`的语法,与windows的ini文件类似. 示例: app.name=chat app.secret=pJLzyoiDe1 ...
- iproute2应用
linux目前都支持ip命令,与ifconfig类似,但ifconfig的软件net-tools早不更新了,ip功能更强大,推荐使用iproute2套件. ip可以完美替换常用的网络命令,用法如下: ...
- mysql5.7.20安装
MySQL 的官网下载地址:http://www.mysql.com/downloads/ 一.各版本的区别 1. MySQL Community Server 社区版本,开源免费,但不提供官方技术支 ...