谷歌数据存储连接两个容器时需要身份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