我以普通的非根用户的身份在容器中运行以下命令
gcsfuse --foreground --debug_fuse --debug_fs --debug_gcs --debug_http my-bucket /data
当我用--priviliged
启动容器时,它在本地工作,这很好。
但在云运行(使用第二代预览执行环境时),同样的情况并不适用。我得到以下错误:
2022-05-13 12:08:41.547 CEST gcs: 2022/05/13 10:08:41.546642 Req 0x1: -> ListObjects("") (46.897367ms): OK
2022-05-13 12:08:41.551 CEST /usr/bin/fusermount: failed to open /dev/fuse: Permission denied
2022-05-13 12:08:41.551 CEST mountWithArgs: mountWithConn: Mount: mount: running /usr/bin/fusermount: exit status 1
所有其他调试日志行、HTTP、GCS等都显示一切正常。
我在Dockerfile
中这样创建我的用户
RUN useradd -lmU joe\
&& mkdir -p /data \
&& chown -R joe:joe /data
USER joe
我应该以使用文件系统的用户而不是根用户的身份运行gcs引信的医生说,但它不起作用。知道我做错什么了吗?
发布于 2022-05-31 11:36:27
为寻求这个问题的答案的社区:
根据这个回答,在gcsfuse.sh中添加-file-mode=777-dir-mode=777和gcsfuse命令,以便在GCS桶的挂载目录中启用读/写应该是一种选择,但由于科伯特确认出于安全原因,它不起作用。我进一步挖掘,我发现这些非常有用的信息:
https://serverfault.com/questions/1100860
复制相似问题