Docker 容器化AWS Lambda:python处理程序无法访问/home/app(但可以访问/tmp)

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

我正在将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,它返回:

{
  "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