计算引擎上的google cloudML的Docker容器 – 安装存储桶的authentication

我一直在使用谷歌的机器学习平台cloudML

大图:我试图找出最简洁的方式,让他们的Docker 环境在Google计算实例上运行起来,可以访问cloudML API和存储桶。

从本地开始,我configuration了我的服务帐户

 C:\Program Files (x86)\Google\Cloud SDK>gcloud config list Your active configuration is: [service] [compute] region = us-central1 zone = us-central1-a [core] account = 773889352370-compute@developer.gserviceaccount.com disable_usage_reporting = False project = api-project-773889352370 

我用谷歌容器图像系列启动一个计算实例

 gcloud compute instances create gci --image-family gci-stable --image-project google-containers --scopes 773889352370-compute@developer.gserviceaccount.com="https://www.googleapis.com/auth/cloud-platform" 

编辑:需要明确地设置与cloudML沟通的范围。

然后我可以SSH进入该实例(用于debugging)

 gcloud compute ssh benweinstein2010@gci 

在计算实例上,我可以从GCR中提取cloudML docker并运行它

 docker pull gcr.io/cloud-datalab/datalab:local docker run -it --rm -p "127.0.0.1:8080:8080" \ --entrypoint=/bin/bash \ gcr.io/cloud-datalab/datalab:local 

我可以确认我有权访问我所需的存储桶。 那里没有证件问题

 root@cd6cc28a1c8a:/# gsutil ls gs://api-project-773889352370-ml gs://api-project-773889352370-ml/Ben/ gs://api-project-773889352370-ml/Cameras/ gs://api-project-773889352370-ml/MeerkatReader/ gs://api-project-773889352370-ml/Prediction/ gs://api-project-773889352370-ml/TrainingData/ gs://api-project-773889352370-ml/cloudmldist/ 

但是,当我尝试安装水桶

 root@139e775fcf6b:~# gcsfuse api-project-773889352370-ml /mnt/gcs-bucket Using mount point: /mnt/gcs-bucket Opening GCS connection... Opening bucket... Mounting file system... daemonize.Run: readFromProcess: sub-process: mountWithArgs: mountWithConn: Mount: mount: running fusermount: exit status 1 stderr: fusermount: failed to open /dev/fuse: Operation not permitted 

必须是我需要从docker集装箱内激活我的服务帐户? 我有类似的( 其他地方未解决的问题)

 gcloud auth activate-service-account 

我可以通过docker一个凭据.json文件,但我不知道/如果gcloud ssh传递这些文件到我的实例?

我可以更广泛地访问云平台,例如我可以向cloudML API发布请求。

 gcloud beta ml predict --model ${MODEL_NAME} --json-instances images/request.json > images/${outfile} 

哪个成功 所以一些证书正在通过。我想我可以通过它来计算引擎,然后从计算引擎到docker实例? 感觉就像我没有按照预期使用这些工具。 我认为一旦我在本地进行身份validation,gcloud就会处理这个问题。

这是一个docker问题,而不是gcloud权限问题。 Docker需要作为 – 特权来运行以允许保险丝安装。