[英]AWS lambda (python): Dockerfile to install psycopg2?
我正在尝试使用本教程将 docker 容器上传到 Lambda 的 AWS ECR。我的问题是我的 python 脚本使用 psycopg2,我不知道如何在 Docker 图像中安装 psycopg2。 我知道我需要postgres-devel
用于libq
库和 gcc 用于编译,但它仍然不起作用。
我的要求.txt:
pandas==1.3.0
requests==2.25.1
psycopg2==2.9.1
pgcopy==1.5.0
Dockerfile:
FROM public.ecr.aws/lambda/python:3.8
WORKDIR /app
COPY my_script.py .
COPY some_file.csv .
COPY requirements.txt .
RUN yum install -y postgresql-devel gcc*
RUN pip install -r requirements.txt
CMD ["/app/my_script.handler"]
在构建、运行图像并在本地测试 lambda function 后,我收到以下错误消息:
psycopg2.OperationalError: SCRAM authentication requires libpq version 10 or above
所以我认为容器有错误的 postgres(-devel) 版本。 但我不确定如何安装正确的版本? 将 psycopg2 脚本部署到 docker 以供 lambda 使用的任何提示?
这可能有点老了,来不及回答,但我认为我发布了对我有用的东西。
FROM public.ecr.aws/lambda/python:3.8
COPY . ${LAMBDA_TASK_ROOT}
RUN yum install -y gcc python27 python27-devel postgresql-devel
RUN pip3 install -r requirements.txt --target "${LAMBDA_TASK_ROOT}"
CMD [ "app.handler" ]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.