部署OCPP网关时CDK执行失败,ECS服务超时且容器缺失启动脚本
OCPP网关ECS部署失败排查方案
核心问题定位
容器启动报错/opt/ocpp-gateway/run-server.sh: cannot execute: required file not found,说明要么脚本文件不存在,要么存在但权限不足,导致ECS服务无法正常启动,最终触发堆栈超时回滚。
排查步骤
验证Docker镜像构建正确性
- 检查Dockerfile:确认是否包含
COPY run-server.sh /opt/ocpp-gateway/指令,确保脚本被复制到指定路径 - 排查构建上下文:确认
run-server.sh在Docker构建的根目录下,且未被.dockerignore文件排除 - 本地测试镜像:手动构建并运行镜像,检查文件是否存在
查看输出是否包含docker build -t ocpp-gateway-test . docker run --rm ocpp-gateway-test ls -l /opt/ocpp-gateway/run-server.sh
- 检查Dockerfile:确认是否包含
检查脚本执行权限
- 确认Dockerfile中添加了权限设置:
RUN chmod +x /opt/ocpp-gateway/run-server.sh - 本地验证权限:
查看权限字段是否包含docker run --rm ocpp-gateway-test stat /opt/ocpp-gateway/run-server.shx(可执行权限)
- 确认Dockerfile中添加了权限设置:
确认CDK配置的镜像与启动命令
- 检查CDK任务定义:确保引用的是最新构建推送的镜像(若用ECR,确认镜像已成功上传,URI无拼写错误)
- 核对启动命令:确认容器启动命令正确指向
/opt/ocpp-gateway/run-server.sh,无路径或文件名拼写错误
内容的提问来源于stack exchange,提问作者Better
相关产品推荐
相关产品推荐

