首页 > 解决方案 > 如何让 docker compose 使用现有的 AWS 子网

问题描述

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

但是我不知道如何告诉服务使用预制子网(看起来它从“允许”子网列表中随机选择一个子网,该列表目前是我在我的 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 的情况下运行它会给出集群不存在错误)

标签: amazon-web-servicesdockeramazon-ec2docker-composeaws-fargate

解决方案


这目前是不可能的,并且有一个GitHub 问题可以专门询问这个问题。如果您可以在那里听到您的声音,那么这就是我们整合这些反馈的地方。谢谢你。


推荐阅读