谷歌数据存储连接两个容器时需要身份validation

将两个容器相互连接后

以下命令用于运行与数据存储容器链接的dropWizard容器

docker run -p 8080:8080 --name dropwizard --link googledatastore:googledatastore dropwizard 

我用来运行数据存储的命令是

 docker run -h gdatastore -p 8000:8000 google/cloud-sdk gcloud beta emulators datastore start --project=test1 --host-port gdatastore:8000 --no-store-on-disk 

他们都正确运行

 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2faa2627c1fe dropwizard "java -jar hello-d..." 3 minutes ago Up 3 minutes 0.0.0.0:8080->8080/tcp, 8081/tcp, 0.0.0.0:6060->8080/tcp dropwizard 00186af090b8 google/cloud-sdk "gcloud beta emula..." 4 hours ago Up 4 hours 0.0.0.0:8000->8000/tcp googledatastore 

我添加了代码连接到dropwizard应用程序中的数据存储,

  private final Datastore datastore = DatastoreOptions.newBuilder().setProjectId("test1").build().getService(); private final KeyFactory keyFactory = datastore.newKeyFactory().setKind("Task"); 

当试图访问/ api时com.google.datastore.v1.client.DatastoreException发生exception:Unauthenticated。

因此:我通过运行此命令运行gdatastore容器时,我authenticationgdatastore

 docker run -ti --name gcloud-config google/cloud-sdk gcloud auth login