首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >AWS在ECS中使用带有码头容器的ECS优化AMI

AWS在ECS中使用带有码头容器的ECS优化AMI
EN

Stack Overflow用户
提问于 2019-05-03 20:33:20
回答 1查看 1.4K关注 0票数 2

我已经花费了大量的时间来构建下面将要描述的部署设置。我已经阅读了大部分关于ECS的文档,并记录了一份详尽的学习资源列表。

然而,似乎我仍然错过了与码头码头在AWS ECS的一些重要的部分.

在开发中,我们使用Docker将一组容器定义为本地全堆栈集群。它是在本地使用容器的一个非常方便的工具。

我们的目标是使用Docker方法将这个集群部署到Amazon中。

ECS支持多达3.0版本的组合文件格式。最值得注意的是,不支持将本地文件用作构建上下文,因此必须引用图像。

我现在困惑的是:

在ECS中运行实例的官方文件应该安装和配置Amazon容器代理、Docker和ECS。因此,对于基本形象,他们建议:

Amazon优化的AMIs预先配置了这些要求和建议。我们建议您使用Amazon优化的Amazon 2 AMI作为容器实例,除非您的应用程序需要特定的操作系统或在该AMI中尚不可用的Docker版本。

混淆点1:然而,我没有在官方文档中找到关于如何在这些优化的AMI基础上实际构建和运行Docker容器的示例。大约有两个Dockerfile示例,这里这里,它们都是从公共的非AMI映像构建的?

我已经找到了一些资源,比如这里 (来源)和这里,它们展示了如何使用Packer及其EC2 AMI生成器(EBS后台)来构建基于这些ECS优化的AMI的定制AMI。

我自己设置了这个过程,并做了一些小的修改,而且它正在工作。我有我自己的自定义图像显示在AWS EC2 AMIs下。

混淆点2:然而,我似乎无法引用这些图像在我的码头文件或码头组合文件,因为他们没有存储在ECR.我是正确的(或有错误配置)吗?

Packer确实有一个支持ECR的后处理器用于码头推送。但是它不适用于EC2 AMI生成器:

代码语言:javascript
复制
Post-processor failed: Unknown artifact type: mitchellh.amazonebs
Can only import from docker-import and docker-tag artifacts.

当然,我实际上不需要把基础AMI存储在ECR中.但我需要能够使用它作为映像来构建我的自定义服务Docker映像,并将这些发布映像存储在ECR中。然后在停靠器撰写文件中引用这些图像。

我知道,转向其他自动化工具,如Ansible、Terraform或AWS Code*服务,可能会让我越过这一点。但是,我一直试图跟踪官方文档并从各种来源收集信息,同时尽量减少设置,并且还没有完全理解我所面临的问题。

混淆点3:是使用Amazon优化的AmazonLinux2Amis在ECS中构建和运行Docker容器的推荐方法?

我在这里可能遗漏了什么.?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-05-03 20:46:21

在主机上运行的软件和在容器中运行的软件之间存在着分裂。您正在阅读的段落是关于需要在主机EC2系统上运行的软件。

设置ECS集群时,需要提供一组EC2实例。AWS建议您使用它们的AMI作为这些实例的基础,这是相当合理的做法。如果您想要使用类似于标准Ubuntu的东西,则需要在这些实例上安装所引用的软件位元,然后它才能“成为”ECS集群的一部分,并开始运行容器。(要运行Docker容器,需要在主机上安装Docker。)

我认为在ECS上运行的容器没有特殊的需求,也没有一种基于AMI构建Docker映像的方法。您应该能够启动本地使用的同一组映像(假设您实际上将源代码COPY到映像中,它们在没有操作员交互的情况下运行)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55976745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档