首页 > 解决方案 > 带有 Docker Compose 文件的 AWS ECS -“外部”Docker 卷

问题描述

我有docker-compose.yml在我的 Docker CE 独立服务器上运行的现有文件。

我想使用 AWS ECS 服务部署相同的配置。该ecs-cli工具的文档指出可以使用 Docker Compose 文件。其他(更简单的)容器配置已与我现有的文件一起使用。

使用我的配置,出现以下错误:

ERRO[0000] 无法打开 ECS Compose 项目错误="不支持外部选项"

FATA[0000] 无法创建和读取 ECS Compose 项目错误="不支持外部选项"

我正在使用“外部”Docker 卷,以便它们根据需要自动生成,并且在容器停止或删除时不会被删除。

docker-compose.yml这是我正在测试的文件的简化,允许我将卷安装到正在运行的容器:

version: '3'

services:
  busybox:
    image: busybox:1.31.1
    volumes:
      - ext_volume:/path/in/container

volumes:
  ext_volume:
    external: true

或者,我已阅读其他文档以使用ecs-params.yml同一目录中的文件来传递变量。这是替换我的docker-compose.yml文件吗?我曾期望保持它的语法不变。

标签: dockerdocker-composeamazon-ecs

解决方案


工作配置(这是确保容器保持运行,所以我可以 ssh 进入并查看已安装的驱动器):

version: '3'

services:
  alpine:
    image: alpine:3.12
    volumes:
      - test_docker_volume:/path/in/container
    command:
      - tail 
      - -f 
      - /dev/null

volumes:
  test_docker_volume:

并在ecs-params.yml

version: 1
task_definition:
  services:
    alpine:
      cpu_shares: 100
      mem_limit: 28000000
  docker_volumes:
    - name: test_docker_volume
      scope: "shared"
      autoprovision: true

推荐阅读