ECS Fargate 不支持绑定挂载

Jee*_*eet 11 mongodb amazon-ecs node.js docker aws-fargate

我正在尝试将 nodejs docker-compose 应用程序部署到 aws ecs 中,这是我的 docker compose 文件的外观 -

version: '3.8'

services:
 sampleapp:
  image: jeetawt/njs-backend
  build:
   context: .
  ports:
   - 3000:3000
  environment:
   - SERVER_PORT=3000
   - CONNECTIONSTRING=mongodb://mongo:27017/isaac
  volumes:
   - ./:/app
  command: npm start

 mongo:
  image: mongo:4.2.8
  ports:
   - 27017:27017
  volumes:
   - mongodb:/data/db
   - mongodb_config:/data/configdb
volumes:
 mongodb:
 mongodb_config:
Run Code Online (Sandbox Code Playgroud)

但是,当我在创建 ecs 上下文后尝试使用 docker compose up 运行它时,它会抛出以下错误 -

WARNING services.build: unsupported attribute        
ECS Fargate does not support bind mounts from host: incompatible attribute
Run Code Online (Sandbox Code Playgroud)

我没有指定任何我想用于Fargate此目的的位置。有什么办法我仍然可以使用 ec2 而不是部署应用程序Fargate

小智 5

默认模式为 Fargate。您可能没有在运行命令中指定包含 ec2 实例的 ecs 集群。

您的 docker compose 有一个绑定挂载,因此您的任务需要部署到该挂载可以工作的实例。

此示例讨论部署到 ec2 支持的集群。 https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ecs-cli-tutorial-ec2.html