cdk 部署选项以重新构建图像

cdk deploy option to re-build image

我正在使用 AWS Fargate 部署一个新堆栈,我正在使用 python 中的 cdk。

docker 图像在我执行 cdk deploy 时构建并推送到 ECR 中,但是当我对复制到我的 Dockerfile 中的 entrypoint.sh 进行更改时,cdk 不会检测到这个变化。

所以 cdk 命令以“无变化”结束。

如何使用 cdk 重新构建和更新 docker 映像?

这是我创建服务的代码

back = aws_ecs_patterns.ApplicationLoadBalancedFargateService(
    self,
    "back",
    cpu=256,
    task_image_options=aws_ecs_patterns.ApplicationLoadBalancedTaskImageOptions(
        image=ecs.ContainerImage.from_asset('./back'),
    ),
    desired_count=2,
    memory_limit_mib=512,
    public_load_balancer=True,
)

这是我的 Dockerfile

FROM python:3.8

ENV PYTHONUNBUFFERED=1

WORKDIR /app

RUN apt update && apt install -y python3-dev libpq-dev wait-for-it

COPY requirements.txt /app

RUN pip install -r requirements.txt

COPY . /app

ENTRYPOINT ["/app/entrypoint.sh"]

谢谢!

./back 目录是一个符号 link。

此更改起到了作用:

image=ecs.ContainerImage.from_asset(
    './back',
    follow_symlinks=cdk.SymlinkFollowMode.ALWAYS,
),