[Lightsail容器] AWS Lightsail VPS:一种在云中运行容器的简单方法
作者:CC下载站 日期:2023-09-15 03:41:06 浏览:5 分类:站长帮
免费试用链接:Lightsail免费试用
背景
Amazon Lightsail 是开发人员、小型企业、学生以及其他需要简单虚拟专用服务器 (VPS) 解决方案的用户开始使用 AWS 的最简单方式。
它是迄今为止开始使用 AWS 的最简单方法。使用它,您在几分钟内即可在自己的虚拟服务器上运行您的应用程序。Lightsail 为开发人员提供计算、存储以及网络容量和功能,让其能够在云中部署并管理网站和 Web 应用程序。Lightsail 可提供快速启动项目所需的一切要素,包括虚拟机、容器、数据库、CDN、负载均衡器、DNS 管理等。
新用户可以免费使用。Lightsail免费试用 ,尝试在Lightsail上部署你的网站和应用吧。
Amazon Lightsail 是一项易于使用的云服务,可为您提供部署应用程序或网站所需的一切,从而实现经济高效且易于理解的月度计划。它是部署简单的工作负载、网站或开始使用 AWS 的理想选择。典型的 Lightsail 客户包括开发人员、小型企业或初创公司等,他们希望快速开始使用云和 AWS。当您更熟悉 AWS 云时,您可以稍后随时采用广泛的 AWS 服务。
Lightsail 在后台由 Amazon Elastic Compute Cloud (EC2)、Amazon Relational Database Service (RDS)、Application Load Balancer 和其他 AWS 服务提供支持。它提供了您期望从 AWS 获得的安全性、可靠性和可扩展性级别。
部署到 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 应用程序部署为容器来看看它是如何工作的。假设您的笔记本电脑上安装了 AWS 命令行界面 (CLI) 和 Docker。不需要 Python,它将仅安装在容器中。
我首先使用 Flask 简单应用程序框架创建一个 Python REST API。任何可以在容器内运行的编程语言和框架都可以工作。我选择了 Python 和 Flask,因为它们简单又简洁。
您可以安全地复制/粘贴以下命令:
mkdir helloworld-python cd helloworld-python # create a simple Flask application in helloworld.py echo " from flask import Flask, request from flask_restful import Resource, Api app = Flask(__name__) api = Api(app) class Greeting (Resource): def get(self): return { "message" : "Hello Flask API World!" } api.add_resource(Greeting, '/') # Route_1 if __name__ == '__main__': app.run('0.0.0.0','8080') " > helloworld.py
然后我创建一个 Dockerfile,其中包含构建容器映像所需的步骤和信息:
123456789
# create a Dockerfile echo ' FROM python:3 ADD helloworld.py / RUN pip install flask RUN pip install flask_restful EXPOSE 8080 CMD [ "python", "./helloworld.py"] ' > Dockerfile
现在我可以构建我的容器了:
1
docker build -t lightsail-hello-world。
build 命令在构建容器时会输出许多行,它最终以以下消息结束(实际 ID 将不同):
12
Successfully built 7848e055edff Successfully tagged lightsail-hello-world:latest
我通过在笔记本电脑上启动容器来测试它:
1
docker run -it --rm -p 8080:8080 lightsail-hello-world
并将浏览器连接到 localhost:8080
当我对应用程序感到满意时,我会将容器推送到 Docker Hub。
123
docker tag lightsail-hello-world sebsto/lightsail-hello-world docker login docker push sebsto/lightsail-hello-world
创建 Lightsail 容器
现在,我已经在 Docker Hub 上准备好容器,下面我们来创建 Lightsail 容器服务。
我将浏览器指向 Amazon Lightsail 控制台。我可以看到容器服务已经部署好,我可以管理它们。为创建新服务,我点击 Create container service(创建容器服务):
(Lighsail 容器控制台)
在下一个屏幕上,我根据可供应用程序使用的 vCPU 和内存来选择要使用的容器大小。出于高可用性或可扩展性的原因,我还选择了希望并行运行的容器实例的数量。我可以随时更改容器实例的数量或其能力(vCPU 和 RAM),而不会中断服务。这两个参数都会影响 AWS 每月收取的价格。价格在屏幕上显示并动态调整,如以下视频所示。
在屏幕稍微下面的位置,我选择现在跳过部署。我将服务命名为(“hello-world”)。我单击 Create container service(创建容器服务)。
创建服务后,我单击 Create your first deployment(创建第一个部署)以创建部署。部署指的是要在我刚创建的服务上部署的特定容器映像和版本的组合。
我为我的映像选择了一个名称,然后在 Docker Hub 上使用格式 user/<my container name>:tag
提供映像的地址。在这个地方,我也可以输入环境变量、端口映射或启动命令。
我的容器在端口 TCP 8080 上提供网络服务,因此我将该端口添加到部署配置中。开放端口配置指定哪些端口和协议对容器网络中的其他系统开放。其他容器或虚拟机只能在端口在控制台中显式配置或公开
在我的 Dockerfile
中时连接到我的容器。这些端口都不会在公共互联网中公开。
但是在这个示例中,我还希望 Lightsail 将流量从公共互联网路由到此容器中。因此,我将此容器作为我刚创建的 hello-world 服务的终端节点添加。终端节点会为 TLS 自动配置,没有要安装或管理的证书。
我最多可以为单个部署添加 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 部署了我的第一个容器映像。我还可以使用 AWS 命令行界面 (CLI) 管理我的服务并从笔记本电脑部署本地容器映像。要直接从笔记本电脑将容器映像推送到我的 Amazon Lightsail 容器服务,我必须安装 LightSail 控制器插件。(TL;DR curl
、cp
和 chmod
都适合您在此使用,我还维护了一个 DockerFile 来使用容器内的 CLI)。
为创建、列出或删除容器服务,我键入:
1 2 3 4 5 6 7 8 9101112131415161718192021222324
aws lightsail create-container-service --service-name myservice --power nano --scale 1 aws lightsail get-container-services { "containerServices": [{ "containerServiceName": "myservice", "arn": "arn:aws:lightsail:us-west-2:012345678901:ContainerService/1b50c121-eac7-4ee2-9078-425b0665b3d7", "createdAt": "2020-07-31T09:36:48.226999998Z", "location": { "availabilityZone": "all", "regionName": "us-west-2" }, "resourceType": "ContainerService", "power": "nano", "powerId": "", "state": "READY", "scale": 1, "privateDomainName": "", "isDisabled": false, "roleArn": "" }] } aws lightsail delete-container-service --service myservice
我还可以使用 CLI 直接从笔记本电脑部署容器映像。确保已安装 lightsailctl
。
# Build the new version of my image (v3)
docker build -t sebsto/lightsail-hello-world:v3 .
# Push the new image.
aws lightsail push-container-image --service-name hello-world --label hello-world --image sebsto/lightsail-hello-world:v3
过了一会,我看到以下输出:
Image "sebsto/lightsail-hello-world:v3" registered.
Refer to this image as ":hello-world.hello-world.1" in deployments.
我创建一个 lc.json
文件来保存部署配置的详细信息。它与我在控制台上看到的选项一致。我报告了上一个命令映像
属性中给出的名称:
{
"serviceName": "hello-world",
"containers": {
"hello-world": {
"image": ":hello-world.hello-world.1",
"ports": {
"8080": "HTTP"
}
}
},
"publicEndpoint": {
"containerName": "hello-world",
"containerPort": 8080
}
}
最后,我用以下命令创建一个新的服务版本:aws lightsail create-container-service-deployment --cli-input-json file://lc.json
我可以使用以下命令查询部署状态aws lightsail get-container-services
...
"nextDeployment": {
"version": 4,
"state": "ACTIVATING",
"containers": {
"hello-world": {
"image": ":hello-world.hello-world.1",
"command": [],
"environment": {},
"ports": {
"8080": "HTTP"
}
}
},
...
过了一段时间后,状态变为 ACTIVE
(活动),我可以测试我的终端节点。
curl https://hello-world.nxxxxxxxxxxx.lightsail.ec2.aws.dev/
{"message": "Hello Flask API World!", "version": 3}
如果您计划稍后将容器部署到 Amazon ECS 或 Amazon Elastic Kubernetes Service,则无需进行任何更改。您可以从存储库中提取容器映像,就像使用 Amazon Lightsail 一样。
您可以在提供 Amazon Lightsail 的所有 AWS 区域中将容器部署到 Lightsail 上。截止今天,已在美国东部(俄亥俄)、美国东部(弗吉尼亚北部)、美国西部(俄勒冈)、亚太地区(孟买)、亚太地区(首尔)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、加拿大(中部)、欧洲(法兰克福)、欧洲(爱尔兰)、欧洲(伦敦)和欧洲(巴黎)区域提供。
与往常一样,使用 Amazon Lightsail 时,定价易于理解且可预测。Amazon Lightsail 容器每月每个容器的价格固定,具体取决于容器的大小(您使用的 vCPU/ 内存组合)。您需要按保持服务运行的时间按比例付费。每月价格是全天候运行服务时将向您收取的最高价格。所有 AWS 区域的价格都相同。价格从 Nano 容器每月 7 USD(512MB 内存和 0.25 vCPU)到 X-Large 容器(8GB 内存和 4 个 vCPU 核心)每月 160 USD 不等。这个价格不仅包括容器本身,还包括负载均衡器、DNS 和充足的数据传输层。其他 AWS 区域的详细信息和价格在 Lightsail 定价页面上。
总结
如果你有使用VPS的计划,想要轻松部署和管理应用程序的所需的一切内容。那么Lightsail就是你的最佳选择。Lightsail 的常见使用案例包括运行网站、Web 应用程序、博客、电子商务网站、简单软件等。赶紧尝试一下吧。
参考原博客,请访问Lightsail 容器:一种在云中运行容器的简单方法
猜你还喜欢
- 03-29 [环境测试] Hexo部署GitHub Pages
- 03-22 [源码设置] 如何设置Xiuno BBS URL-Rewrite(伪静态设定)
- 03-06 [建站交流] PicGo + smms 构建图床
- 11-18 [emlog技巧] Emlog非插件显示评论者IP属地
- 11-09 [网站维护] WordPress 后台速度慢?加快仪表板速度的 15 种方法
- 11-09 [WordPress插件] 10 个最好用的 WordPress 聊天机器人插件(免费和付费)
- 11-09 [WordPress开发] 探索 WordPress 6.3 中的增强样板(Patterns)
- 11-09 [网站维护] 无需插件即可优化 WordPress 速度的 12 种策略
- 11-09 [网站安全] WordPress 安全统计:WordPress 到底有多安全?
- 09-20 [jsp技术] JSP ssm 特殊人群防走失系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计
- 09-15 [Lightsail容器] AWS Lightsail VPS:一种在云中运行容器的简单方法
- 07-28 [运维笔记] 解决网站出现"SSL_ERROR_RX_RECORD_TOO_LONG"问题
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[电影] 2024年国产动作片《天坑鹰猎 电影版》HD国语中字
[电影] 2010年国产经典武侠片《镖行天下前传之燃眉危机》HD国语中字
[电影] 2021年国产动作片《妙手神探之鬼门十三针》HD国语中字
[课程] Procreate元计划板绘入门系统课程
[课程] DK图解数学动画课程
[有声读物] 儿童汉语分级读物《小羊上山》第1-4季PDF电子版+精读视频+MP3音频
[电影] 2023年国产爱情片《不要走散好不好》HD国语中字
[电影] 2024年意大利惊悚片《家庭教育》BD中英双字
[电影] 2024年国产惊悚片《黑水岭》HD国语中字
[电影] 2010年国产经典武侠片《镖行天下前传之漠上风云》HD国语中字
[资料] [大学期末救急课] 猴博士+高斯课堂+斐多课堂,全集视频合集
[云资源] 价值2万元的老男孩Python教程
[书库] 史上最全摄影书推荐(附700本PDF版打包下载)
[云资源] 花了一千多元买的私人健身教程
[下载工具] Internet Download Manager 6.42.7 (IDM)
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[即时通讯] 腾讯QQ PC版9.7.22.29315去广告绿色纯净版
[开发环境] PhpStorm2023中文激活版v2023.3.3 正式版
[图像制作] Adobe Illustrator 2024 v28.1.0.141 破解版
[资料] 3000 套电影电视剧 LOGO 宣传片常用音效合集包
[云资源] 价值2万元的老男孩Python教程
[影视] 灌篮高手 WEB-DL版下载/Slam Dunk/スラムダンク/灌篮高手:THE FIRST/灌篮高手电影版 2022 The First Slam Dunk 61.35G
[云资源] 花了一千多元买的私人健身教程
[书库] 史上最全摄影书推荐(附700本PDF版打包下载)
[安卓软件] Android GIF助手 v3.9.7 GIF图片编辑器破解版
[电视剧] 三体 (2024) 全8集 网飞版本 中文字幕 合集
[剧集] 繁花 (2023)[全30集][打包]
[影视] 三大队 WEB-DL版下载/Endless Journey/请转告局长,三大队任务完成了 2023 三大队 6.7G
[纪录片] 河西走廊【10集 国语 中文字幕 1080P 10.8G MP4】
[安卓软件] OfficeSuite中文版APP v14.2.50872.0破解版
- 最新评论
-
好yinhq693 评论于:04-02 谢谢支持!!CC下载站 评论于:03-26 很棒的资源,感谢分享云体风身 评论于:03-26 感谢分享,好东西云体风身 评论于:03-26 谢谢支持!CC下载站 评论于:03-14 央视精品,感谢付出提供。qwer9009 评论于:03-14 谢谢支持!!!CC下载站 评论于:03-13 谢谢分享!Ypc9182 评论于:03-12 谢谢支持!!CC下载站 评论于:03-11 感谢本网站收集和提供这么多的资料,谢谢!Ypc9182 评论于:03-10
- 热门tag