Py学习  »  docker

AWS Cloudshell 现在可以访问 Docker Engine

InfoQ • 2 月前 • 91 次点击  

作者 | Nsikan Essien
译者 | 明知山
策划 | 丁晓昀  

最近,亚马逊云科技宣布 AWS CloudShell 为用户提供对 Docker Engine 的访问能力。通过这一集成,可以在本地对容器进行原型化,并在将其部署到 AWS 之前将其推送到注册中心。

AWS CloudShell 是一个基于 Web 的 Shell,用于通过命令行访问 AWS 环境中的资源。可以通过 AWS Console 访问,并使用相同的凭据进行预身份验证,允许用户执行 AWS CLI 命令来完成临时或重复的任务。除了 AWS CLI 之外,它还包含了各种常见的开发和运维工具,用于进行快速原型设计和实验。Docker Engine 是其预安装工具列表中最新添加的一个。

在 AWS CloudShell 中运行 Docker 命令(来源:AWS CloudShell 教程

AWS CloudShell 于 2020 年底推出,受到开发者社区的欢迎,为 AWS 基于 Web 的集成开发环境(IDE)AWS Cloud 9 提供了更简单、更便宜的替代方案。AWS Cloud 9 需要一个 EC2 实例,AWS CloudShell 会在会话之间免费提供 1 个配备 1 个 vCPU、2GB RAM 和 1GB 持久存储空间的实例。除此之外,它还预安装了各种工具,如 kubectl(Kubernetes 控制平面命令行界面)、Boto3(AWS Python SDK)等,使其非常适合用于运维任务和交互式开发。Docker 与在 AWS CloudShell 上预安装的 AWS CDK 或 AWS CLI 的结合为基础设施开发开辟了两个新途径。

首先,利用“DockerImageFunction”和“DockerImageCode” CDK Lambda 资源,现在可以从 AWS CloudShell 中部署执行 Docker 容器的 AWS Lambda 函数。

const { DockerImageFunction, DockerImageCode } = require('aws-cdk-lib/aws-lambda');const path = require('path');class DockerTutorialStack extends Stack {  constructor(scope, id, props) {    super(scope, id, props);    // define lambda that uses a Docker container    const dockerfileDir = path.join(__dirname);    new DockerImageFunction(this, 'DockerTutorialFunction', {      code: DockerImageCode.fromImageAsset(dockerfileDir),      functionName: 'DockerTutorialFunction',    });  }}new DockerTutorialStack(app, 'DockerTutorialStack');

部署引用 Docker 镜像的 CDK 栈(来源:AWS CloudShell 教程)

或者,现在可以使用 AWS CLI 在 AWS CloudShell 中构建 Docker 镜像并推送到注册表,以便在 AWS ECS、AWS EKS 或 AWS Lambda 中使用。

将 Docker 镜像推送到 Amazon ECR(来源:AWS CloudShell 教程)

随着 Docker Engine 的推出,AWS CloudShell 在功能上与 Azure 和 GCP 等同类产品更加接近。不过,与 GCP 或 Azure 的 5GB 限制相比,AWS CloudShell 的 1GB 持久存储限制意味着只能进行小容器原型设计或构建。用户 @MicheAngeCamhi 在 X 上分享他的经验,他写道:

. . . 本地存储被限制在 1 GB,而如果使用 Docker 镜像可能会很快就会用完!


事实上,我的构建大小一直在增长,现在因为‘Docker 空间不足’导致失败

最后,除了加利福尼亚、大阪和斯德哥尔摩,目前默认的 AWS CloudShell 区域都支持 Docker。更多指导信息可在 AWS CloudShell 的用户指南中找到。

查看英文原文

https://www.infoq.com/news/2024/01/docker-aws-cloudshell/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐

库克吹捧的 Vision Pro,杀手级应用就这?开发者:我希望它一败涂地

未来淘汰你的是 AI 还是懂 AI 的同事?InfoQ研究中心发布 2024 年中国技术发展十大趋

鹅厂年终开奖冲上热搜;PayPal裁员赔偿N+6;梁汝波不满字节2023年才讨论GPT;“Linux中国”停止运营 | Q资讯

刚上线就崩了?字节版 GPTs 征战国内市场:无需编码,快速创建 AI 聊天机器人

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/166748
 
91 次点击