- Newest
- Most votes
- Most comments
arogers wrote:
I am trying to use a container image as the source for a lambda, but am not able to start the container.No matter what I set the CMD to, I get
entrypoint requires the handler name to be the first argument
My Dockerfile looks something like:
FROM public.ecr.aws/lambda/python:3.8
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY custom_module ${LAMBDA_TASK_ROOT}
COPY app.py ${LAMBDA_TASK_ROOT}
CMD \[app.lambda_handler]The function to run in app.py is definitely called lambda_handler, and I've run out of things to change.
Anyone have any thoughts?
Edited by: arogers on Jan 29, 2021 4:52 PM
arogers wrote:
I am trying to use a container image as the source for a lambda, but am not able to start the container.No matter what I set the CMD to, I get
entrypoint requires the handler name to be the first argument
My Dockerfile looks something like:
FROM public.ecr.aws/lambda/python:3.8
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY custom_module ${LAMBDA_TASK_ROOT}
COPY app.py ${LAMBDA_TASK_ROOT}
CMD \[app.lambda_handler]The function to run in app.py is definitely called lambda_handler, and I've run out of things to change.
Anyone have any thoughts?
Edited by: arogers on Jan 29, 2021 4:52 PM
arogers wrote:
I am trying to use a container image as the source for a lambda, but am not able to start the container.No matter what I set the CMD to, I get
entrypoint requires the handler name to be the first argument
My Dockerfile looks something like:
FROM public.ecr.aws/lambda/python:3.8
COPY requirements.txt .
RUN pip install -r requirements.txt
COPY custom_module ${LAMBDA_TASK_ROOT}
COPY app.py ${LAMBDA_TASK_ROOT}
CMD \[app.lambda_handler]The function to run in app.py is definitely called lambda_handler, and I've run out of things to change.
Anyone have any thoughts?
Edited by: arogers on Jan 29, 2021 4:52 PM
Hey arogers,
Here is what I have as a Dockerfile that is working for me, this may work for you too. However, I'm currently having issues with OpenCV.
FROM public.ecr.aws/lambda/python:3.8
COPY requirements.txt ./
RUN pip install --upgrade pip
RUN pip install -r requirements.txt
COPY . ./
CMD \[ "app.handler" ]
Edited by: samatvery on Feb 3, 2021 12:23 PM
Edited by: samatvery on Feb 3, 2021 12:23 PM
Can you please try placing your app.handler inside quotes ["app.handler"] instead of keeping it without quotes [app.lambda_handler] ?
I believe docker needs between double quotes and it worked for me.
Hi @samatvery, I tried customising the base image but it always fails, refer to my stackoverflow question here: https://stackoverflow.com/questions/66369212/aws-lambda-is-unable-to-find-app-handler-custom-docker-image
Relevant content
- asked 9 months ago
- Accepted Answerasked 2 years ago
- AWS OFFICIALUpdated a year ago
- AWS OFFICIALUpdated 2 years ago
- AWS OFFICIALUpdated a year ago