首页 > 解决方案 > AWS 中是否有相当于 docker configs 的服务?

问题描述

我有一个将使用 AWS 中的 ECS 托管的 WordPress 网站。

为了使管理更加灵活,我计划不将服务配置(即 php.ini、nginx.conf)存储在 docker 镜像本身中。我发现 docker swarm 为此提供了“docker configs”。是否有任何等效的工具可以做同样的事情?(我知道 AWS Secrets Manager 可以处理 docker 机密)

有什么建议或替代方法吗?谢谢你们。

标签: amazon-web-servicesdockerdocker-swarm

解决方案


您可以使用的最相似的可能是AWS SSM 参数存储

运行图像时,您将需要一些逻辑来检索值。

  • 如果您不想将文件也包含在正在运行的容器中,那么您可以从 Parameter Store 中提取并将它们添加到环境中,并且您可能需要在应用程序中做一些工作以从环境中读取(应用程序与配置的实际源保持分离),或者您可以直接从应用程序中的参数存储中读取(更容易,但您的图像与参数存储有一些耦合。

  • 如果您关心的只是图像中没有值,但如果它们在运行的容器内也没关系,那么您可以从 Param Store 读取并将值注入到文件的通常位置内的容器中,所以对于应用程序是透明的

作为其他方法:

  • 特别是对于我来说php.ininginx.conf我喜欢一种简单的方法,它有一个单独的gitrepo,每个不同的环境都有不同的配置文件。

    • 无论环境如何,您都有一个通用的 docker 映像
    • 在构建时,您为环境提取正确的文件,然后保存为环境变量,或者注入容器中
  • 最后:需要提到经典工具,如ChefPuppet,还有ansible。更复杂,可能有点矫枉过正


推荐阅读