在 ECS Fargate 上通过 Docker Compose 出现错误 运行 MongoDB

Error Running MongoDB via Docker Compose on ECS Fargate

我一直在尝试使用 docker-compose 启动容器化 mongoDB 实例到 ECS w/ Fargate,这是我的 docker compose 配置:

mongo:
 image: mongo:latest
 restart: always
 environment:
  MONGO_INITDB_USERNAME: root
  MONGO_INITDB_DATABASE: db-name
 volumes:
  - ./migration/init.js:/docker-entrypoint-initdb.d/mongo-init.js:ro
 ports:
  - "27017:27017"

使用 docker 撰写版本:3

我收到以下错误:FATA[0000] ClientException:Fargate 兼容任务定义不支持 sourcePath

对我做错了什么有什么想法吗?

您无法将本地 file/folder (.migration/init.js) 装载到云中的任务。我不熟悉 Mongo,所以我不是 100% 确定该文件的作用,但解决这个问题的最简单方法是从 mongo 创建一个新的 docker 图像,其中唯一的一行将是 ADD 以将 init.js 文件添加到容器内您需要的位置(/docker-entrypoint-initdb.d/mongo-init.js?)。解决这个问题的“更简单”的方法是消除 compose 中的 volume 指令(但我不知道这样做对 mongo 容器的影响是什么 运行 ).