我正在尝试建立一个新的基于springboot + docker(microservices)的项目。 部署针对AWS。 每个服务都有一个与之关联的Dockerfile。 我正在考虑使用Amazon Container Service进行部署,但据我所知,它仅从Docker Hub提取图像。 我不希望ECS从docker-hub中拉出,而是从docker文件中构建映像,然后接管那些容器的部署,这可能吗? 如果是的话。
如何在没有Docker Hub集成的情况下配置Amazon容器服务
How to configure Amazon container service without docker hub integration
===============>>#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可以通过减少构建服务器的配置来使过程更流畅。 从视频中,我已经看到所有构建配置都位于存储库中。 它仍然处于封闭测试阶段,所以我想我们将不得不再等一等才能看到它最终的结果。