我正在尝试从 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 基础映像上运行的
我在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上的保险丝安装的用户的基础上.