【问题标题】:AWS Lambda Docker Image Environment VariableAWS Lambda Docker 映像环境变量
【发布时间】:2022-11-03 21:34:56
【问题描述】:

我有一个 docker 映像,我想在几个项目中使用它,尽管每个项目都有不同的 CMD 入口点。

我的 Dockerfile 是

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}" ]             

我正在尝试使用指令here 在本地运行图像。

将运行命令更改为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"]

这很好用,所以这不是问题。

【问题讨论】:

    标签: amazon-web-services docker aws-lambda dockerfile


    【解决方案1】:

    入口点/lambda-entrypoint.sh 不支持变量作为 docker CMD。相反,它应该只是一个静态字符串。 作为一种解决方法,您可以使用自己的 ENTRYPOINT 或在 docker run 调用期间覆盖 Dockerfile 外部的命令。

    【讨论】:

      最近更新 更多