我有一个码头映像,我想要在几个项目中使用,虽然每个项目都有一个不同的CMD入口点。
我的Dorckerfile是
FROM public.ecr.aws/lambda/python:3.8
COPY . ${LAMBDA_TASK_ROOT}
COPY requirements.txt ${LAMBDA_TASK_ROOT}
RUN pip3 install -r requirements.txt --target "${LAMBDA_TASK_ROOT}"
WORKDIR ${LAMBDA_TASK_ROOT}
CMD [ "${CMD}" ] 我试图使用这里指令在本地运行该映像。
将run命令更改为docker run -p 9000:8080 -e CMD="src.simulate.orchestrator" lambda:latest
但是我遇到了错误Traceback (most recent call last):me: Bad handler '${CMD}': not enough values to unpack (expected 2, got 1)
知道如何从Dockerfile内部访问这个环境变量吗?
注意:在调试过程中,我将CMD行更改为
CMD ["src.simulate.orchestrator"]这很好,所以这不是问题所在。
发布于 2022-11-03 13:34:56
入口点/lambda-entrypoint.sh不支持将变量作为停靠器CMD。相反,它应该只是一个静态字符串。作为解决办法,您可以在docker run调用期间使用自己的入口点或覆盖Dockerfile外部的命令。
https://stackoverflow.com/questions/73059041
复制相似问题