amazon-web-services - cdk 部署选项以重新构建映像
问题描述
我正在使用 AWS Fargate 部署一个新堆栈,我在 python 中使用 cdk。
当我这样做时,Docker 映像是在 ECR 中构建和推送的,cdk deploy
但是当我在我的 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
目录是一个符号链接。
这种改变起到了作用:
image=ecs.ContainerImage.from_asset(
'./back',
follow_symlinks=cdk.SymlinkFollowMode.ALWAYS,
),
推荐阅读
- php - Wordpress - 激活插件后添加页面
- javascript - 'form-data/multipart' 类型的 HTTPS 请求(使用 https nodejs 模块)不起作用
- python - 从文本文件中提取某些项目以进行标记化
- docker - Spring oauth 不适用于 docker 域
- python - 最大的字符串,什么是可能的
- laravel - 在 laravel 中增加 max_execution_time
- javascript - 检查 JSON 对象上的键
- asp.net-mvc-5 - 如何通过登录、授权、身份验证使用会话?
- php - PhpStorm + Docker + Xdebug + DB SSH tunnel
- c++ - CPU缓存理解