最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

Google Datastore无法连接Docker

运维笔记admin10浏览0评论

Google Datastore无法连接Docker

Google Datastore无法连接Docker

我有一个运行Google Datastore模拟器的Docker Compose文件:

version: '3'
services:

  database:
    image: google/cloud-sdk
    command: gcloud beta emulators datastore start --host-port 0.0.0.0:8000 --project emulator --store-on-disk
    ports:
      - 8000:8000

  backend:
    build: ./backend
    command: npm run start:dev
    ports:
      - 8080:8080
    environment:
      DATASTORE_EMULATOR_HOST: backend:8000
      DATASTORE_PROJECT_ID: emulator
    volumes:
      - ./backend:/usr/src/app:rw
      - /usr/src/app/node_modules

我有一个遵循NodeJS数据存储示例的NodeJS后端:

.js

const Datastore = require('@google-cloud/datastore');
const datastore = Datastore();
const query = datastore.createQuery('visit');
datastore.runQuery(query);

当我在本地运行脚本时,它可以工作:

npm start

但是,当我使用Docker Compose运行时,NodeJS示例挂起,而不显示任何错误消息:

docker-compose up

在两个示例中,我都可以通过访问以下内容来查看“确定”消息

http://localhost:8000

所以我知道数据存储区实例正在运行。但是当我得到端点时它会挂起:

http://localhost:8080/items

为什么挂?它是否正在尝试连接到实时项目?我想运行一个完全孤立的Docker容器,而无需连接到实时的Google Cloud Project。

完整的项目来源在这里:

回答如下:

如果我没弄错的话,当你为你的后端指定环境变量时,你应该说模拟器地址是database:8000而不是backend:8000

environment:
      DATASTORE_EMULATOR_HOST: database:8000

除此之外配置似乎太好了。如果有帮助,请告诉我

与本文相关的文章

发布评论

评论列表(0)

  1. 暂无评论