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

news2024/12/23 14:52:01

当向开发人员介绍亚马逊云科技云服务时,通常会花一点时间来介绍并演示 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.coloradmin.cn/o/1024777.html

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

相关文章

[echarts] 两侧堆叠柱状图

http://echarts.zhangmuchen.top/#/detail?cidxOQSXIOQiK const myData [福田区, 罗湖区, 南山区, 盐田区, 宝安区, 龙岗区, 坪山区, 龙华区, 光明区, 大鹏区]; // 全彩屏,双基色屏,简易屏,条形屏 const offLine [[20, 40, 60, 60, 10, 2…

C语言 coding style

头文件 The #define Guard #define的保护文件的唯一性&#xff0c;防止被多重包含 格式 : <PROJECT>_< FILE>_H_ PROJECT : XS FILE : MV_CTR 头文件的包含顺序 C System FilesOther LibrariesUser LibraryConditional include 作用域 局部变量 -变量定义时需要…

Vuex状态管理最佳实践

文章目录 单一状态树使用模块使用常量定义Mutation类型使用Actions处理异步操作使用Getters计算属性严格模式分模块管理Getter、Mutation和Action&#xff1a;注释和文档&#xff1a;Vue Devtools ✍创作者&#xff1a;全栈弄潮儿 &#x1f3e1; 个人主页&#xff1a; 全栈弄潮…

计算机视觉与深度学习-卷积神经网络-纹理表示卷积神经网络-纹理表示-[北邮鲁鹏]

目录标题 参考文章纹理定义纹理的分类规则纹理随机纹理 纹理的表示方法基于卷积核组思路什么卷积核组卷积核类型&#xff08;边缘、条形、点状&#xff09;卷积核尺度&#xff08;3~6个尺度&#xff09;卷积核的方向卷积核组的设计 表示步骤步骤一&#xff1a;设计卷积核组。步…

软件测试/测试开发丨利用ChatGPT自动生成测试用例思维导图

点此获取更多相关资料 简介 思维导图是一种用图形方式表示思维和概念之间关系的工具&#xff1a; 有些公司会使用思维导图编写测试用例&#xff0c;这样做的优点是&#xff1a; 1.可视化和结构化。 2.易于理解&#xff0c;提高效率。 而 ChatGPT 是无法直接生成 xmind 格式…

Git学习笔记10

代码更新方法&#xff1a; 蓝绿部署&#xff1a; 蓝绿部署&#xff0c;英文名&#xff1a;Blue Green Deployment&#xff0c;是一种可以保证系统在不间断提供服务的情况下上线代码的部署方式。 如何保证系统不间断提供服务呢&#xff1f; 蓝绿部署的模型中包含两套集群。 …

ElementPlus·表单验证

表单验证作用&#xff1a;省去一些错误的请求提交&#xff0c;节省后端接口压力。简单配置、自定义配置&#xff0c;最后进行统一校验工作。 如何校验 及 校验步骤&#xff1a; 简单配置 <script setup> // 表单对象 const form ref({对象: 值 })// 规则对象 const ru…

21. 概率与统计 - 数学期望、统计描述分布

文章目录 数学期望方差标准差协方差二项分布高斯分布中心极限定理泊松分布Hi, 你好。我是茶桁。 在上一节中,我们最后有谈到随机变量。在概率论几统计学中,描述一个随机变量的离散程度的有方差、标准差等等。那么在这节课中,我们就来好好看看这些概念。 不过在这之前呢,我…

【音视频】FLV封装格式

基本概念 文件头(Header)文件体(Body) flv文件头 主要是看signture和typeflags flv文件体 重点&#xff1a;Tag包数据 Tag结构详细说明 注意&#xff1a; 每个Tag的头字段DataSize只是该Tag下data部分的大小&#xff0c;不包括Tag的header部分的大小 音频 AudioTag Data 所在…

若依+lodop+jasperreports+ireport 设计打印票据格式(二)

若依lodopjasperreportsireport 设计打印票据格式&#xff08;二&#xff09; 使用Field绑定Java传入数据 设计页表页数和当前页号 ![在这里插入图片描述](https://img-blog.csdnimg.cn/7091542bd5954845b8fcf39d71d4c9e4.png#pic_cente![在这里插入图片描述](https://img-bl…

[Vue] 绑定下拉菜单

写在前面 同学们&#xff0c;今天的天气很是不错&#xff0c;我们之前进行了复选框的绑定&#xff0c;这次来看看下拉菜单的绑定吧&#xff0c;因为要赶这个创作进度&#xff0c;真的只有再水一篇文章了。大家就当是饭后甜点看看就行。 苏子云 荷尽已无擎雨盖&#xff0c;菊残…

红海云荣膺「2023智享会人力资源技术供应商价值大奖」

9月19日&#xff0c;由中国高端人力资源会员组织智享会&#xff08;HREC&#xff09;主办的“2023人力资源技术供应商价值大奖”颁奖典礼隆重举行&#xff0c;红海云凭借卓越的技术实力与品牌口碑荣膺“2023 HCM系统-本地部署HR臻选供应商”。 智享会“价值大奖”系列评选被称…

基于STM32+华为云IOT设计的智能垃圾桶

一、项目介绍 在商业街、小吃街和景区等人流密集的场所&#xff0c;垃圾桶的及时清理对于提供良好的游客体验至关重要。然而&#xff0c;传统的垃圾桶清理方式通常是定时或定期进行&#xff0c;无法根据实际情况进行及时响应&#xff0c;导致垃圾桶溢满&#xff0c;影响环境卫…

钉钉stream机器人-实操详细教程

支持事件订阅、机器人收消息、卡片回调等功能 优点&#xff1a; 配置简单&#xff0c;不依赖也不需要暴露公网IP&#xff0c;无需向公网开放端口 github官方链接&#xff1a;GitHub - open-dingtalk/dingtalk-stream-sdk-python: Python SDK for DingTalk Stream Mode API, Co…

低噪声 256 细分微步进电机驱动MS35774/MS35774A(汽车应用级别)

MS35774/MS35774A 是一款高精度、低噪声的两相步进 电机驱动芯片&#xff0c;芯片内置功率 MOSFET&#xff0c;长时间工作的平均电 流可以达到 1.4A&#xff0c;峰值电流 2A。芯片集成了过温保护、欠压 保护、过流保护、短地保护、短电源保护功能。 主要特点 ◼ 2 相步进电机…

excel subtotal 函数(分类汇总)

函数说明 返回列表中的分类汇总。 语法 SUBTOTAL(function_num,ref1,[ref2],...) SUBTOTAL 函数语法具有以下参数&#xff1a; Function_num 必需。 数字 1-11 或 101-111&#xff0c;用于指定要为分类汇总使用的函数。 如果使用 1-11&#xff0c;将包括手动隐藏的行&…

glTF模型骨骼动画

推荐&#xff1a;使用 NSDT场景编辑器快速搭建3D应用场景 本文详细演示了风车动画的制作过程&#xff1a; 当然&#xff0c;这非常容易硬编码&#xff08;有两个对象&#xff0c;一个静态的&#xff0c;一个旋转的&#xff09;。但是&#xff0c;我计划稍后添加更多动画&#…

GIF动图怎么变成jpg动图?一键分解GIF动画

GIF格式图片怎么转换成jpg格式图片&#xff1f;在日常生活中jpg、png转GIF格式非常的常见&#xff0c;那么gif转换成jpg格式应该怎么操作呢&#xff1f;很简单&#xff0c;给大家分享一款gif动态图片制作&#xff08;https://www.gif.cn/giffenjie&#xff09;工具&#xff0c;…

51单片机项目(12)——基于51单片机的智能台灯设计

本次设计的功能如下&#xff1a; 首先使用PCF8591芯片&#xff0c;实现了AD DA转换&#xff0c;AD采集的是光敏电阻的信息&#xff0c;光照强度越强&#xff0c;电压越小&#xff0c;AD采集到的数值越小。同时将AD采集的数字量作为DA输出时的输入量&#xff0c;模拟输出端接了…

技术对比:Flutter vs. 传统桌面应用开发框架

在移动应用开发领域&#xff0c;Flutter已经赢得了广泛的认可和采用&#xff0c;成为了跨平台移动应用开发的瑞士军刀。然而&#xff0c;Flutter的魅力并不仅限于移动平台&#xff0c;它还可以用于开发桌面应用程序&#xff0c;为开发人员提供了一种全新的选择。本文将深入探讨…