我正在尝试建立一个新的基于springboot + docker(microservices)的项目。 部署针对AWS。 每个服务都有一个与之关联的Dockerfile。 我正在考虑使用Amazon Container Service进行部署,但据我所知,它仅从Docker Hub提取图像。 我不希望ECS从docker-hub中拉出,而是从docker文件中构建映像,然后接管那些容器的部署,这可能吗? 如果是的话。

===============>>#1 票数:2 已采纳

仅凭Amazon EC2容器服务(ECS)尚不可能做到这一点-虽然ECS同时支持私有注册表 (另请参阅介绍性博客文章 ),但它尚不提供映像构建服务(通常,AWS有望添加随着时间的推移,此类显着的附加功能,请参阅功能请求:ECS容器梦之服务以获取更多信息)。

但是,可以通过AWS Elastic Beanstalk的内置对单容器Docker配置的初始支持来实现:

Docker使用Dockerfile创建一个包含您的源包的Docker映像。 [...] Dockerfile是一个纯文本文件,其中包含Elastic Beanstalk用于在Elastic Beanstalk环境中的每个Amazon EC2实例上构建自定义Docker映像的指令 当存储库中尚未托管现有映像时,请创建一个Dockerfile。 [强调我的]

具有讽刺意味的是,Elastic Beanstalk现在添加了基于ECS的Multicontainer Docker Environments ,但是这种迫切需要的更加通用的Docker部署选项没有提供依次构建映像的能力:

Elastic Beanstalk上的多Dockerfile Docker平台不支持使用Dockerfile部署期间构建自定义映像 在创建Elastic Beanstalk环境之前,请构建您的映像并将其部署到在线存储库。 [强调我的]

如上所述,由于AWS众所周知的敏捷性(请参见例如最新的ECS更新 ),我希望在不久的将来将其添加到ECS中,但是它们通常不致力于路线图细节,因此很难估计我们需要等待多长时间。

===============>>#2 票数:0

同时,亚马逊推出了EC2容器注册表https://aws.amazon.com/ecr/如果您不喜欢docker hub,它是一个私有的docker存储库。 与ECS服务完美集成。 但是,它不会构建您的docker映像,因此无法解决整个问题。

我使用竹子服务器构建图像(源位于bitbucket的git存储库中)。 Bamboo将图像推送到Amazons容器注册表。

我希望Bitbucket Pipelines可以通过减少构建服务器的配置来使过程更流畅。 从视频中,我已经看到所有构建配置都位于存储库中。 它仍然处于封闭测试阶段,所以我想我们将不得不再等一等才能看到它最终的结果。

  ask by rohit translate from so

未解决问题?本站智能推荐:

1回复

Amazon ECS私有DockerHub存储库:无法解码提供的docker凭据错误

我在DockerHub上有一个私有存储库,我试图用ECS部署它。 我总是得到以下错误: 或者如果我尝试使用类型的docker: 我已经尝试了ECS开发者论坛上提到的所有可能性。 我试过了: 我也尝试过: 而且(因为https://godoc.org/git
2回复

AWS Fargate部署:“无效的操作配置AWS ECS容器*****不存在”

我正在使用terraform来提供所需的资源。 我有一个terraform代码管道resource , Production stage读取imagedefinitions.json文件以了解要部署的图像: imagedefinitions.json文件是在build阶段从buil
1回复

如何理解Amazon ECS群集

我最近尝试使用AWS的任务定义来部署docker容器。 一路上,我遇到了以下问题。 如何将实例添加到群集? 使用Amazon ECS控制台创建新集群时,如何将新ec2实例添加到新集群。 换句话说,在启动新的ec2实例时,需要使用什么配置将其分配给Amazon ECS下的用户创建的
1回复

在没有蓝/绿部署的情况下在ECS中运行单个任务

是否可以始终在AWS ECS中运行一项任务? 我不想进行蓝/绿部署。 我的要求: 最小/所需/最大任务= 1; 当我重新部署ECS服务时,它应该首先停止旧任务,然后旋转新任务。 目前情况恰恰相反。 任何参考将是有帮助的。
2回复

更新AWS ECS服务

我有一个在AWS EC2容器服务(ECS)上运行的服务。 我的设置相对简单。 它使用单个任务定义和以下详细信息进行操作: 所需容量设置为2 最低健康状况定为50% 最大可用设置为200% 任务以80%的CPU和内存预留运行 最初,我能够在没有问题的情
2回复

部署期间,所需任务计入ECS服务

假设我正在运行ECS服务。 它被配置为至少运行2个任务,期望的计数为2,最大任务计数为10。最小健康百分比设置为100,最大百分比设置为150。 使用CloudFormation模板管理ECS服务。 如果我通过更改要使用的docker image标签来更新我的ECS服务CloudF
7回复

AWS ECS使用相同的任务定义和映像重新启动服务,无需停机

我正在尝试重新启动AWS服务(基本上停止并启动服务中的所有任务),而不对任务定义进行任何更改。 原因是因为图像的每个构建都附带了latest标记。 我已经尝试停止所有任务并让服务重新创建它们,但这意味着当服务在我的实例中重新启动时会出现一些temporarily unavailabl
2回复

是否可以将Docker映像从公共Docker集线器移至AWS ECS?

我们正在https://hub.docker.com/中维护我们的docker映像,现在我们希望将具有所有标记版本的这些映像移动到aws ecs服务。 是否有可能 ? 我们是否有相同的自动脚本? 请帮助我们。
1回复

运行存储在EC2容器实例中的Docker映像

我正在使用EC2容器实例来构建我的Docker映像。 然后,我想使用ECS服务来安排任务。 我的映像已经显示在EC2容器实例中。 我需要将其推送到Docker Hub吗? 还是可以直接从EC2 Container实例运行此映像? 有最佳实践吗?
1回复

Docker每次构建/推送 - 对于持续部署是否实用?

如果每天部署5-10次,那么每次部署时完全重建和推送docker镜像是否真的很实用? 我承认CircleCI的持续集成和Docker交付中提到的好处,即: 请注意,Elastic Beanstalk还允许您部署Dockerfile和相关的源代码而不是构建的映像,但是在Circle