亚马逊云科技 Amazon Lightsail :一种在云服务器上运行容器的简单方法

当向开发人员介绍亚马逊云科技云服务时,通常会花一点时间来介绍并演示 Amazon Lightsail 。它是迄今为止开始使用亚马逊云科技的最简单方法。使用它,您在几分钟内即可在自己的虚拟服务器上运行您的应用程序。而后增加了在 Amazon Lightsail 上部署基于容器的工作负载的可能性。

Amazon Lightsail 是一项易于使用的云服务,可为您提供部署应用程序或网站所需的一切,从而实现经济高效且易于理解的月度计划。它是部署简单的工作负载、网站或开始使用亚马逊云科技的理想选择。典型的 Amazon Lightsail 客户包括开发人员、小型企业或初创公司等,他们希望快速开始使用云和亚马逊云科技。

亚马逊云科技开发者社区为开发者们提供全球的开发技术资源。这里有技术文档、开发案例、技术专栏、培训视频、活动与竞赛等。帮助中国开发者对接世界最前沿技术,观点,和项目,并将中国优秀开发者或技术推荐给全球云社区。如果你还没有关注/收藏,看到这里请一定不要匆匆划过,点这里让它成为你的技术宝库!

部署到 Amazon Lightsail 时,您可以在六种操作系统(4 个 Linux 发行版、FreeBSD 或 Windows)、七种应用程序(例如 WordPress、Drupal、Joomla、Plesk…)和七种堆栈(例如 Node.js、Lamp、GitLab、Django…)之间选择。但是 Docker 容器呢?

Amazon Lightsail 为开发人员提供一种简单的方式来将其容器部署到云中。您只需要为您的容器提供一个 Docker 映像,亚马逊云科技将为您自动容器化该映像。Amazon Lightsail 为您提供了一个 HTTPS 终端节点,可以为在云容器中运行的应用程序提供服务。它会自动设置负载均衡的 TLS 终端节点,并处理 TLS 证书。它会为您自动替换无响应的容器,会为终端节点分配一个 DNS 名称,维护旧版本,直到新版本运行正常并准备好上线等。

下面通过将简单的 Python Web 应用程序部署为容器来看看它是如何工作的。假设您的笔记本电脑上安装了亚马逊云科技命令行界面(CLI)和 Docker。不需要 Python,它将仅安装在容器中。

首先使用 Flask 简单应用程序框架创建一个 Python REST API。任何可以在容器内运行的编程语言和框架都可以工作。我选择了 Python 和 Flask,因为它们简单又简洁。

您可以安全地复制/粘贴以下命令:

image.png

然后创建一个 Dockerfile,其中包含构建容器映像所需的步骤和信息:

image.png

现在可以构建容器了:

image.png

build 命令在构建容器时会输出许多行,它最终以以下消息结束(实际 ID 将不同):

image.png

可以通过在笔记本电脑上启动容器来测试它:

image.png

并将浏览器连接到 localhost:8080

image.png

当对应用程序感到满意时,会将容器推送到 Docker Hub。

image.png

现在,已经在 Docker Hub 上准备好容器,下面来创建 Amazon Lightsail 容器服务。

将浏览器指向 Amazon Lightsail 控制台。可以看到容器服务已经部署好,可以管理它们。为创建新服务,我点击 Create container service(创建容器服务):

image.png

在下一个屏幕上,根据可供应用程序使用的 vCPU 和内存来选择要使用的容器大小。出于高可用性或可扩展性的原因,还选择了希望并行运行的容器实例的数量。可以随时更改容器实例的数量或其能力(vCPU 和 RAM),而不会中断服务。这两个参数都会影响亚马逊云科技每月收取的价格。

在屏幕稍微下面的位置,选择现在跳过部署。将服务命名为(“hello-world”)。单击 Create container service(创建容器服务)。

创建服务后,单击 Create your first deployment(创建第一个部署)以创建部署。部署指的是要在刚创建的服务上部署的特定容器映像和版本的组合。

为映像选择一个名称,然后在 Docker Hub 上使用格式*user/:*tag 提供映像的地址。在这个地方,也可以输入环境变量、端口映射或启动命令。

容器在端口 TCP 8080 上提供网络服务,因此将该端口添加到部署配置中。开放端口配置指定哪些端口和协议对容器网络中的其他系统开放。其他容器或虚拟机只能在端口在控制台中显式配置或公开在 Dockerfile 中时连接到我的容器。这些端口都不会在公共互联网中公开。

最多可以为单个部署添加 10 个容器。准备好后,我单击 Save and deploy(保存并部署)。

过了一段时间,部署处于活动状态,可以测试终端节点。

终端节点 DNS 地址位于控制台的右上角。如果必须的话,可以配置自己的 DNS 域名。

在浏览器中打开另一个选项卡并将它指向 https 终端节点 URL:

当必须部署新版本时,再次使用控制台来修改部署。可以省去修改应用程序代码、构建和推送新版本容器的详细信息。假设在名称 sebsto/lightsail-hello-world:v2 下有第二个容器映像版本可用。返回到 Amazon Lightsail 控制台,单击 Deployments(部署),然后单击 Modify your Deployments(修改部署)。输入容器映像新版本的完整名称,包括标签,然后单击 Save and Deploy(保存并部署)。

过了一段时间后,部署并自动激活新版本。

在浏览器中打开一个新选项卡,然后将其指向 Amazon Lightsail 控制台右上角提供的终端节点 URI。观察到 JSON 版本不同。它现在有一个值为 2 的版本属性。

当部署过程中出现问题时,Amazon Lightsail 会自动使上次部署保持活动状态,以避免任何服务中断。还可以手动激活以前的部署版本以撤消任何不需要的更改。

刚从 Docker Hub 部署了第一个容器映像。还可以使用亚马逊云科技命令行界面(CLI)管理我的服务并从笔记本电脑部署本地容器映像。要直接从笔记本电脑将容器映像推送到 Amazon Lightsail 容器服务,必须安装 LightSail 控制器插件。为创建、列出或删除容器服务,键入:

image.png

image.png

还可以使用 CLI 直接从笔记本电脑部署容器映像。确保已安装 lightsailctl。

image.png

过了一会,我看到以下输出:

image.png

创建一个 lc.json 文件来保存部署配置的详细信息。它在控制台上看到的选项一致。

image.png

最后,用以下命令创建一个新的服务版本:

image.png

可以使用以下命令查询部署状态

image.png

过了一段时间后,状态变为ACTIVE(活动),可以测试我的终端节点。

image.png

如果计划稍后将容器部署到 Amazon ECS 或 Amazon Elastic Kubernetes Service,则无需进行任何更改。您可以从存储库中提取容器映像,就像使用 Amazon Lightsail 一样。

您可以在提供 Amazon Lightsail 的所有亚马逊云科技区域中将容器部署到 Lightsail 上。截止今天,已在美国东部(俄亥俄)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、亚太地区(孟买)、亚太地区(首尔)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、加拿大(中部)、欧洲(法兰克福)、欧洲(爱尔兰)、欧洲(伦敦)和欧洲(巴黎)区域提供。

Amazon Lightsail 在后台由 Amazon Elastic Compute Cloud(EC2)、Amazon Relational Database Service(RDS)、Application Load Balancer 和其他亚马逊云科技服务提供支持。它提供了您期望从亚马逊云科技获得的安全性、可靠性和可扩展性级别。

文章来源:亚马逊云科技 Amazon Lightsail :一种在云服务器上运行容器的简单方法

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/83030.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言字符函数和字符串函数(1)

大家好,我们又见面了,让大家久等了,我们今天就来学习字符函数和字符串函数。 在开启今天的学习之前呢,我来解决一下一些小伙伴平时找不到库函数使用的烦恼,因为我们cplusplus.com最新版本不能够查询函数,我…

【面试题精讲】Mysql如何实现乐观锁

❝ 有的时候博客内容会有变动,首发博客是最新的,其他博客地址可能会未同步,认准https://blog.zysicyj.top ❞ 首发博客地址 文章更新计划 系列文章地址 在 MySQL 中,可以通过使用乐观锁来实现并发控制,以避免数据冲突和并发更新问…

排查disabled问题之谷歌新版本特性

问题复现 最近我突然接手一个后台的bug,这个后台很久没有迭代更新了,我也不熟悉业务,所以只能看一下源码,问题很快就复现,测试的修复操作也很正确,就是因为渲染的input标签中存在disableddisabled’属性导…

单片机论文参考:1、基于单片机的电子琴

摘要 随着社会的发展进步,音乐逐渐成为我们生活中很重要的一部分,有人曾说喜欢音乐的人不会向恶。我们都会抽空欣赏世界名曲,作为对精神的洗礼。本论文设计一个基于单片机的简易电子琴。电子琴是现代电子科技与音乐结合的产物,是一…

英国留学生务必谨慎使用ChatGPT!!!

ChatGPT(全名:Chat Generative Pre-trained Transformer),是OpenAI研发的聊天机器人程序,于2022年11月30日发布。ChatGPT是人工智能技术驱动的自然语言处理工具,它能够基于在预训练阶段所见的模式和统计规律…

1.IAR-8051安装

新版安装教程:IAR EW for 8051 简介与安装 新版软件zhuce:IAR EW for 8051 软件注册 - 知乎 这个新版的我也放到网盘里面了,自己自行选择安装 一、下载IAR-8051 链接:https://pan.baidu.com/s/1mYwSQvSjAiSzltrEbK3yAw?pwd43cd …

【产品经理】深入B端SaaS产品设计核心理念

这几年各企业的B端业务都在做SaaS平台,但对SaaS的了解还不是完全全面,对于一些产品的定位以及设计还在探索中 本文讨论“为什么采用SaaS模式”、“SaaS产品有哪些”以及“如何做好SaaS产品设计”三个话题,核心是产品设计,主要从需…

9月19日学习记录

获取Windows系统的UUID cmd.exe中执行wmic csproduct get uuid QProcess p(0);p.start("cmd",QStringList()<<"/c"<<"wmic csproduct get uuid");p.waitForStarted();p.waitForFinished();QString strTempQString::fromLocal8Bit(p…

[python 刷题] 36 Valid Sudoku

[python 刷题] 36 Valid Sudoku 题目&#xff1a; Determine if a 9 x 9 Sudoku board is valid. Only the filled cells need to be validated according to the following rules: Each row must contain the digits 1-9 without repetition. Each column must contain the …

LabVIEW开发航天器模拟器的姿态控制和反作用轮动量管理

LabVIEW开发航天器模拟器的姿态控制和反作用轮动量管理 在过去十年中&#xff0c;航天器一直是现代技术进步的先决条件。迄今为止&#xff0c;为了更好地完成各种实际任务&#xff0c;已经在航天器姿态控制领域进行了大量研究。航天器一旦进入太空&#xff0c;就容易出现不确定…

CSS

CSS CSS是什么 层叠样式表 (Cascading Style Sheets).CSS 能够对网页中元素位置的排版进行像素级精确控制, 实现美化页面的效果. 能够做到页面的样式和结构分离.说白了就是让网页变得好看 什么是样式呢&#xff1f; 大小&#xff0c;位置&#xff0c;间距&#xff0c;颜色&a…

银行发展绿色金融,8条建议为您指路

在《财富潮涌&#xff1a;银行发展绿色经济创新路径》内容中&#xff0c;我们带大家了解了商业银行有关绿色财富、绿色服务及绿色运营的内容。今天&#xff0c;我们将阐述商业银行发展绿色金融的必要性以及在实践中商业银行应该如何发展色金融。 发展绿色金融的必要性与难点 1.…

国家开放大学考试难度如何

国家开放大学面相的学生群体主要是广大在职在岗员工和社会人士&#xff0c;所以国开的考试难度可以用“宽入宽出”四个字形容。 所谓的“宽入”指的是招生条件非常宽松&#xff0c;虽然有入学考试&#xff0c;但是所涉及的内容十分简单。 所谓的“宽出”指的是毕业条件非常简单…

可扩展性对物联网管理系统有哪些影响?

可扩展性对于物联网管理系统的设计和开发非常重要&#xff0c;它直接影响着系统的性能、可靠性和能耗等方面&#xff0c;是评估一个系统优劣的重要因素之一。可扩展性对物联网管理系统的影响主要体现在以下几个方面&#xff1a; 设备兼容性&#xff1a;物联网管理系统的可扩展性…

华为杯数学建模比赛经验分享

再过一周左右,第二十届华为杯数学建模比赛就要开赛了&#xff0c;所以今天分享一下个人数学建模比赛的经验。 今天给大家分享一期关于华为杯数学建模比赛的经验分享&#xff0c;我将从以下三个方面展开说明&#xff1a; &#xff08;1&#xff09;如何准备数学建模比赛&#x…

互联网摸鱼日报(2023-09-19)

互联网摸鱼日报(2023-09-19) 36氪新闻 基于月度2万份睡眠报告大数据分析 慕思发布“潮汐”算法 极兔聆讯在即&#xff0c;中国邮政这一公司IPO获准5月难招股&#xff1f; “新中式”尸骨未寒&#xff0c;烘焙新风口已抵达战场 车企价格战杀疯了&#xff0c;特斯拉最高降15万…

Interceptor的使用场景:拦截请求中的租户信息,注入到租户上下文中

业务场景 在SaaS环境中&#xff0c;租户是最重要的隔离业务数据的属性了&#xff0c;在自己的项目体系环境中&#xff0c;租户id能保证有值。但有个特殊场景&#xff0c;某些特殊权限的账号需要修改指定租户的内容&#xff0c;也即前端会携带租户信息过来&#xff0c;并且内部涉…

共享单车场景下Cat.1网络表现如何?测试结果来了

为帮助行业客户提高Cat.1产品稳定性&#xff0c;近期&#xff0c;天翼物联组织终端客户郑州威科姆科技股份有限公司开展基于中国电信 Cat.1网络下的共享单车体验测试&#xff0c;内容涵盖单车实时位置监控、单车在线率、业务数据延迟、语音播报功能等。测试结果表明&#xff0c…

零基础学前端(四)1. 重点讲解 CSS:盒子模型、样式选择器

1. 该篇适用于从零基础学习前端的小白 2. 初学者不懂代码得含义也要坚持模仿逐行敲代码&#xff0c;以身体感悟带动头脑去理解新知识 3. 初学者切忌&#xff0c;不要眼花缭乱&#xff0c;不要四处找其它文档&#xff0c;要坚定一个教授者的方式&#xff0c;将其学通透&#xff…

uni-app:通过ECharts实现数据可视化-如何引入项目

效果 引入文件位置 代码 <template><view id"myChart"></view> </template> <script> import echarts from /static/js/echarts.js // 引入文件 export default {mounted() {// 初始化EChartsconst myChart echarts.init(document…