用于本地开发的AWS Docker容器

时间:2018-01-31 22:32:45

标签: amazon-web-services docker

我正在使用AWS Dynamo DB,Lambda,ElastichSearch,ElasticCache(Redis)。我希望将所有这些服务脱机以进行本地开发。我想知道所有这些服务都有Docker容器吗?

2 个答案:

答案 0 :(得分:1)

也许!有一组(一组)Docker容器声称它们提供了流行的AWS服务的本地实现:localstack

编辑:对于lambda特定的事情,还有Docker Lambda

我从来没有真正使用过这些Docker容器,但却想要。 (但是我的开发需求尝试使用商品服务而不是特定于供应商。所以MongoDB而不是DynoDB,并确定我们可以使用ElastiCache来运行我们的Redis集群,但这只是意味着在本地开发中我们可以直接使用Redis。话虽如此,这不是每个人的一杯茶/某些事情可能无法实现......)

答案 1 :(得分:1)

我们将大多数AWS服务的docker用于本地开发,但AWS Lambda除外。

我们使用服务容器如下:

  • MySQL用于RDS MySQL
  • Redis适用于ElastiCache
  • ElasticSearch适用于AWS ElasticSearch
  • fake-s3 for S3
  • ActiveMQ用于模拟SQS和SNS主题(SNS主题的实现有点难看,但在一个地方用一些if-else语句抽象出来)

我们的大多数服务都使用docker-compose来启动依赖容器。我们也在构建服务器上包含了这些容器来运行我们的集成测试。

此外,我们使用的大多数容器都需要对原始Docker文件进行一些修改。所以我们必须将我们的更改推送到我们自己的Docker存储库,我们使用ECS维护它。

对于Lambda,我们不使用docker容器,因为我们在本地启动自己的HTTP服务器来测试和调用lambda函数。

使用此设置已超过一年没有任何问题。您可能还想参考IFTTT的this博客,以获得有关DNS解析的更多想法以及如何更好地完成这项工作。