如何使 docker compose 使用现有的 AWS 子网

How to make docker compose use existing AWS subnet

我已经创建了一个 AWS VPC、子网和安全组,并希望将我的 docker 容器作为 fargate ecs 服务部署到这些预制资源。

但是我不知道如何告诉服务使用预制子网(它看起来像是从 'allowed' 子网列表中随机选择一个子网,该列表目前是我在我的 VPC 中拥有的所有子网

以下文件正确部署到所需的 vpc、集群和安全组,而不是子网:

version: '2'

x-aws-cluster: "Test Cluster"
x-aws-vpc: "vpc-02dffc2a8782579d4"
x-aws-security-group: "sg-02511658ffc184884"

services:
    nginx:
        image: nginx:1.19
        networks:
            - Backend-Access

networks:
    Backend-Access:
        external:
            name: sg-02511658ffc184884
        ipam:
            driver: default
            config:
            - subnet: subnet-0aeef680f1f9e5cda # this has no effect
            #- subnet: 172.31.4.0/24 also does not place the service in this subnet

我运行它使用docker compose up -d(运行它没有-d给出一个集群不存在的错误)

这目前是不可能的,并且有一个 GitHub issue 打开专门要求这个。如果您可以在那里发表您的意见,那么我们正在整合此反馈。谢谢。

现在可以使用记录的覆盖方法制作子网,我解决了。

又见Github issue!两周前解决关闭