使用gcsfuse在Docker容器中挂载Google云存储桶

我试图从一个泊坞窗容器中安装谷歌云桶,并得到以下错误:

[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. 

我的凭证在我的主机上工作,但不在正在运行的容器上。 API说不要使用root来连接,但是你可以用-o allow_other标志(熔丝标志)覆盖它。 任何想法都表示赞赏。

这是运行在一个centos7的基本形象

根与不是这里的红鲱鱼; 有问题的证书是GCS证书。

请参阅此处获取有关将GCS凭证移交给gcsfuse的文档。 最简单的方法是使用最初configurationGCE虚拟机的凭据(假设您在GCE上运行),这使得运行gcsfuse时通常不需要进一步的工作。 但是,如果这不起作用,您可以使用标志--key-file给gcsfuse一个path,指向您从Google Developers Console下载的JSON密钥文件。

更新:我能够得到gcsfuse挂载。 我不得不使用--priviledged选项运行docker工人。 (感谢面包屑的#thaJeztah!)