Можно ли использовать docker-compose для развертывания ecs farget с помощью cdk?

Текущий, мой исходный код здесь ниже

export class CdkFargateStack extends Stack {
  constructor(scope: Construct, id: string, props?: StackProps) {
    super(scope, id, props);

    const cluster = new ecs.Cluster(this, "SampleCluster", {
      clusterName: "SmapleCluster"
    });
    const taskDefinition = new ecs.FargateTaskDefinition(this, "TaskDef");
  
    const container = taskDefinition.addContainer("DefaultContainer", {
      image: ecs.ContainerImage.fromAsset("app"),
      memoryLimitMiB: 512,
      cpu: 256
    });
    container.addPortMappings({
      containerPort: 3000
    });
    const ecsService = new ecs.FargateService(this, "Service", {
      cluster,
      taskDefinition,
      desiredCount: 2
    });
    const lb = new elb.ApplicationLoadBalancer(this, "LB", {
      vpc: cluster.vpc,
      internetFacing: true
    });
    const listener = lb.addListener("Listener", { port: 80 });

    const targetGroup = listener.addTargets("ECS", {
      protocol: elb.ApplicationProtocol.HTTP,
      port: 3000,
      targets: [ecsService]
    });

    new cdk.CfnOutput(this, "LoadBalancerDNS", {
      value: lb.loadBalancerDnsName
    });
  }
}

Строит Dockerfile в каталоге app (app/Dockerfile)

и это хорошо работает.

Однако теперь я хочу использовать два докера, написанных на docker-compose.yml,

Dockerfile.django и Dockerfile.nginx собраны в docker-compose.

Есть файлы

app/docker-compose.yml app/Dockerfile.nginx app/Dockerfile.django

В отличие от Dockerfile, он создает два образа докера.

Итак, моя идея заключается в следующем

1) Игнорировать docker-compose.yml и сделать два контейнера каким-то образом? (Хотя я хочу указать имя файла docker,)

const container1 = taskDefinition.addContainer("DefaultContainer", {
  image: ecs.ContainerImage.fromAsset("app/Dockerfile.django"),
  memoryLimitMiB: 512,
  cpu: 256
});
const container2 = taskDefinition.addContainer("DefaultContainer", {
  image: ecs.ContainerImage.fromAsset("app/Dockerfile.ngingx"),
  memoryLimitMiB: 512,
  cpu: 256
});

Я могу использовать docker-compose.yml непосредственно из cdk?

Не могли бы вы дать мне несколько отправных точек.

Вернуться на верх