小编Mar*_*all的帖子

使用 gcsfuse 在 docker 容器中挂载谷歌云存储桶

我正在尝试从 docker 容器中挂载一个谷歌云存储桶并收到以下错误:

[root@cdbdc9ccee5b workdir]# gcsfuse -o allow_other  --debug_gcs --key-file=/src/gcloud_service_account.json my-bucket-name /gcloud
Using mount point: /gcloud
Opening GCS connection...
Opening bucket...
daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn:     setUpBucket: OpenBucket: Bad credentials for bucket "my-bucket". Check the bucket name and your credentials.
Run Code Online (Sandbox Code Playgroud)

我的凭据适用于我的主机,但不适用于正在运行的容器。API 说不要使用 root 连接,但您可以使用 -o allow_other 标志(保险丝标志)覆盖它。任何想法表示赞赏。

这是在 centos7 基础映像上运行的

fuse docker gcsfuse

6
推荐指数
2
解决办法
7972
查看次数

gcsfuse在读取或写入docker中的已安装目录时给出输入/输出错误

我在docker容器中使用gcsfuse(基本映像centos7),并且无法读取或写入已安装的目录.

我正在使用gcsfuse安装目录,如下所示:

[root@6c24c3a6cc28 /]# gcsfuse --foreground --key-file=/src/gcloud_service_account.json my-bucket /gcloud/
Using mount point: /gcloud
Opening GCS connection...
Opening bucket...
Mounting file system...
File system has been successfully mounted.
Run Code Online (Sandbox Code Playgroud)

当我尝试读取或写入已安装的目录时,我收到此错误:
[root @ 6c24c3a6cc28 /] #ls -la/gcloud/ls:reading directory/gcloud /:输入/输出错误总数0

gcsfuse打印出调试信息说:

fuse:2016/01/14 01:33:41.110260*fuseops.ReadDirOp错误:readAllEntries:ReadEntries:ListObjects:获取https://www.googleapis.com/storage/v1/b/my-bucket/o?delimiter =%2F&projection = full:私钥应该是PEM或普通PKSC1或PKCS8; 解析错误:asn1:结构错误:标记不匹配(16 vs {class:1 tag:27 length:123 isCompound:true}){optional:false explicit:false application:false defaultValue:tag:stringType:0 timeType: 0 set:false omitEmpty:false} pkcs1PrivateKey @ 2

我正在运行这样的
docker :docker run -p 3000:3000 \
 --privileged\--cap-add SYS_ADMIN\--device/dev/fuse\--name gcsfuseTest\gcsfuseImage

我不是100%肯定--cap-add SYS_ADMIN和--device/dev/fuse得到我.我把它们放在其他使用docker上的保险丝安装的用户的基础上.

fuse docker gcsfuse

5
推荐指数
1
解决办法
3535
查看次数

标签 统计

docker ×2

fuse ×2

gcsfuse ×2