如何在 AWS Fargate 上挂载配置文件和其他文件

How can I mount configuration file and other files on AWS Fargate

我正在尝试 运行 Telegraf 作为 AWS fargate 上的 docker 容器。 我已经使用 Dockerfile 创建了 Telegraf 图像文件并构建了图像并将其推送到 ECR。 现在,我正在尝试 运行 AWS fargate 上的这张图片。

我面临的主要挑战是如何将配置(telegraf.conf)文件挂载到容器 容器需要 运行 它。 我尝试通过旋转两个容器来关注此 https://kichik.com/2020/09/10/mounting-configuration-files-in-fargate/ 博客,但我有更多文件要传递到 telegraf.conf 文件。 Fargate 提供了两个选项来使用 Bind 挂载和 EFS 挂载文件。我正在尝试使用绑定挂载,但我不确定如何提供配置文件或挂载它们。 我在下面展示了我如何 运行 使用 docker-compose.

的 telegraf 容器
telegraf1:
    image: telegraf:1.20.0
    container_name: telegraf
    restart: always
    depends_on:
        - influxdb
    networks:
      - analytics
    volumes:
      - /mnt/telegraf/:/var/lib/telegraf
      - ./etc/telegraf/:/etc/telegraf/
    env_file:
      - secrets.env
    environment:
        INFLUXDB_URL: http://influxdb:8086
    command:
        --config-directory /etc/telegraf/telegraf.d
        --config /etc/telegraf/telegraf.conf
    links:
      - influxdb

现在我想使用 AWS fargate 实现同样的效果,但不确定如何在 AWS fargate 上提供卷装载。

在 Fargate 上绑定挂载非常适合在单个任务中的多个容器之间共享一个文件夹,但我不知道有什么方法可以在 Fargate 绑定挂载中加载外部配置文件,除了 运行 sidecar 容器,用于在任务启动时从 S3 下载它们。

我通常看到 EFS 用于在 Fargate 中挂载带有配置文件的文件夹。