Docker 容器化AWS Lambda:python处理程序无法访问/home/app(但可以访问/tmp)
我正在将Docker容器部署到AWS Lambda,如下所示https://aws.amazon.com/blogs/aws/new-for-aws-lambda-container-image-support/ 我遇到了某种文件权限问题 如果Docker映像部署在AWS上,则我的python处理程序无法访问Docker 容器化AWS Lambda:python处理程序无法访问/home/app(但可以访问/tmp),docker,aws-lambda,file-permissions,Docker,Aws Lambda,File Permissions,我正在将Docker容器部署到AWS Lambda,如下所示https://aws.amazon.com/blogs/aws/new-for-aws-lambda-container-image-support/ 我遇到了某种文件权限问题 如果Docker映像部署在AWS上,则我的python处理程序无法访问/home/app(但它可以访问/tmp) 在我的本地机器上,两条路径都可以正常工作 Dockerfile entry.sh app.py 部署到AWS Lambda,它返回: { &q
/home/app
(但它可以访问/tmp
)
在我的本地机器上,两条路径都可以正常工作
Dockerfile
entry.sh
app.py
部署到AWS Lambda,它返回:
{
"errorMessage": "[Errno 2] No such file or directory: '/home/app/f'",
"errorType": "FileNotFoundError",
"stackTrace": [
" File \"/home/app/app.py\", line 25, in handler\n with open('/home/app/f', 'r') as file:\n"
]
}
将/home/app
更改为/tmp
可以修复此问题
有没有办法取消这个限制
RUN mkdir -p /home/app
RUN chmod a+rwx /home/app
^chmod无法修复它
PS我想知道我是否应该将此作为bug归档。向亚马逊工程师报告上游情况的正确方法是什么?负责集装箱Lambda的工程师?传统上,Lambda始终(512mb)负责rw操作。在本地主机上运行代码时,您有权使用/home/app目录
def handler(event, context):
with open('/home/app/f', 'r') as file:
data = file.read()
return { "response" : data }
{
"errorMessage": "[Errno 2] No such file or directory: '/home/app/f'",
"errorType": "FileNotFoundError",
"stackTrace": [
" File \"/home/app/app.py\", line 25, in handler\n with open('/home/app/f', 'r') as file:\n"
]
}
RUN mkdir -p /home/app
RUN chmod a+rwx /home/app