首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在无权限的基于Ubuntu的Docker容器中使用gcsfuse拒绝权限

在无权限的基于Ubuntu的Docker容器中使用gcsfuse拒绝权限
EN

Stack Overflow用户
提问于 2021-01-14 16:27:11
回答 1查看 278关注 0票数 0

我无法在我的基于Ubuntu的Docker镜像中使用--cap-add SYS_ADMIN --device /dev/fuse运行gcsfuse,这在其他帖子中可以看到。不过,对于--privileged和根用户或非根用户,它就像一个护身符。但我希望避免这种选择。

我的Dockerfile:

代码语言:javascript
运行
复制
FROM ubuntu:18.04

RUN apt-get update
RUN apt-get install -y gnupg lsb-release wget

RUN lsb_release -c -s > /tmp/lsb_release
RUN GCSFUSE_REPO=$(cat /tmp/lsb_release); echo "deb http://packages.cloud.google.com/apt gcsfuse-$GCSFUSE_REPO main" | tee /etc/apt/sources.list.d/gcsfuse.list
RUN wget -O - https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -

RUN apt-get update
RUN apt-get install -y gcsfuse

我的测试:

代码语言:javascript
运行
复制
docker run -it --rm \
--device /dev/fuse \
--cap-add SYS_ADMIN \ 
-v /path/in/host/to/key.json:/path/to/key.json \
-e GOOGLE_APPLICATION_CREDENTIALS=/path/to/key.json my_image:0.1 /bin/bash

在运行的容器中:

代码语言:javascript
运行
复制
mkdir /root/gruik
gcsfuse bucket_name /root/gruik/

结果是:

代码语言:javascript
运行
复制
Using mount point: /root/gruik
Opening GCS connection...
Mounting file system...
daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn: Mount: mount: permission denied

我是不是遗漏了什么?谢谢

EN

回答 1

Stack Overflow用户

发布于 2021-01-18 19:09:42

这实际上是docker本身的问题,您需要在--privileged模式下运行docker容器才能实现此功能。检查此related docker issue

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65715624

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档