【发布时间】:2022-04-14 18:43:53
【问题描述】:
我正在尝试使用 Docker 映像在 AWS Lambda 上托管一个非常简单的(Hello World)FastAPI。该图像在本地运行良好,但是当我在 Lambda 上运行它时,它会显示端口绑定错误。以下是我尝试使用此图像测试 Lambda 函数时收到的错误详细信息。
START RequestId: ae27e3b1-596d-41f3-a153-51cb9facc7a7 Version: $LATEST
INFO: Started server process [8]
INFO: Waiting for application startup.
INFO: Application startup complete.
ERROR: [Errno 13] error while attempting to bind on address ('0.0.0.0', 80): permission denied
INFO: Waiting for application shutdown.
INFO: Application shutdown complete.
END RequestId: ae27e3b1-596d-41f3-a153-51cb9facc7a7
REPORT RequestId: ae27e3b1-596d-41f3-a153-51cb9facc7a7 Duration: 3034.14 ms Billed Duration: 3000 ms Memory Size: 128 MB Max Memory Used: 20 MB
2021-11-01T00:23:59.807Z ae27e3b1-596d-41f3-a153-51cb9facc7a7 Task timed out after 3.03 seconds
这表示我无法在 0.0.0.0 上绑定端口 80,所以知道我应该在 Dockerfile 中使用哪个端口和主机以使其在 AWS Lambda 上运行吗?谢谢(下面是我正在使用的 Dockerfile)
FROM python:3.9
WORKDIR /code
COPY ./requirements.txt /code/requirements.txt
RUN pip install -r /code/requirements.txt
COPY . /code
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "80"]
【问题讨论】:
标签: docker aws-lambda serverless fastapi