如何使用 swarm 从 docker-compose v2 迁移到 docker-compose v3?

How to migrate from docker-compose v2 to docker-compose v3 with swarm?

我现在的docker-compose.yml

version: "2"

services:
  nginx:
    restart: always
    image: nginx:latest
    ports:
      - 80:80
      - 443:443
    volumes:
      - ./misc/nginx.conf:/etc/nginx/conf.d/default.conf
      - /static:/static
    depends_on:
      - web

  db:
    restart: always
    image: postgres
    env_file:
      - ./.env
    volumes:
      - pgdata:/var/lib/postgresql/data
    ports:
      - "5432:5432"

  web:
    restart: always
    build:
      context: .
    command: bash -c "python /code/manage.py collectstatic --noinput && python /code/manage.py migrate && /code/run_gunicorn.sh"
    volumes:
      - /static:/data/web/static
      - /media:/data/web/media
      - .:/code
    env_file:
      - ./.env
    depends_on:
      - db


volumes:
  pgdata:
    external:
      name: orderstore

如何将它更新到最新的 docker-compose 版本 (3.4) 并支持 swarm 模式?至少现在它说 build 密钥不受支持。

我的目标是将其部署到 AWS EC2/ECS。如果可能 - 请向我描述如何将其正确部署到 AWS。

谢谢

我不知道迁移撰写文件的自动方法。 Compose file versions and upgrading 中记录了更改。您需要手动进行迁移。