在 aws fargate 中启动容器时创建文件

Create a file at container launch in aws fargate

这是我第一次使用 Fargate 和 docker,我知道 Fargate 正在使用 docker api 到 运行,所以我正在尝试基于图像启动容器,该容器在启动时需要一些文件在容器内可用,以及一些环境变量,问题是命令和入口点让我感到困惑,无论我尝试什么,它都不会创建这些文件,我正在尝试 运行 的命令是:

回显“这里有一些文字”>> /path/to/file/file

我如何在 Fargate 控制台的命令或入口点执行此操作?

谢谢,

要执行任何操作,例如创建强制文件,您通常会将这些文件包含在 DockerFile 中,然后成为 Docker 图像。

您通常不想更新任务定义中的 command/entry 点设置,因为这会覆盖容器的行为,并可能导致预期的行为被取消。

如果某些文件需要存在于 Docker 容器中,我会提出一些建议:

  • 创建 EFS mount and use it within your containers。这些文件将始终存在于所有容器中,这将允许容器在没有其他任务的情况下启动。
  • 如果它必须在容器启动之前可用,您可以创建一个新的 Docker 映像并部署到 ECR,其中包含您的其他更改。
  • 如果不需要在应用程序之前创建,则可以在应用程序启动时创建。

关于环境变量,ECS 官方支持两个选项,第一个是 environment 属性。这应该用于非敏感信息。

第二个选项是 secrets 属性,它将从 Secrets Manager 或 SSM Parameter Store 加载机密。

这些将在启动时提供给容器。