【发布时间】:2021-11-05 11:04:26
【问题描述】:
我正在使用 AWS Fargate 部署一个新堆栈,我正在 python 中使用 cdk。
当我执行cdk deploy 时,Docker 映像已构建并推送到 ECR 中,但是当我在我的 Dockerfile 中复制的 entrypoint.sh 中进行更改时,cdk 不会检测到此更改。
所以 cdk 命令以“no changes”结束。
如何用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"]
谢谢!
【问题讨论】:
-
如果您尝试重用相同的 docker 标签,则大多数容器编排工具都无法使用。每次重建 docker 映像时,它都需要一个新标签,并且您需要更新任务定义中的标签
标签: amazon-web-services aws-cdk aws-fargate