Docker中的Firebase没有回应

jab*_*key 6 firebase docker docker-compose firebase-realtime-database

我正在尝试从Docker容器中的node.js应用程序查询firebase.它在本地工作,但不在容器中.我打开端口443,我可以请求谷歌好.出于某种原因,我从来没有得到过在Docker容器中运行的响应.我怀疑它是websockets的东西.

我的端口是:0.0.0.0:443-> 443/tcp,0.0.0.0:8080-> 8080/tcp

在我的docker syslog中:删除从172.18.0.3:33288发送到216.58.210.173:443的意外TCP数据包(有效来源= 192.168.65.2,0.0.0.0)

关于尝试什么的想法?

  firebase.initializeApp({
    serviceAccount: firebaseKey,
    databaseURL: 'https://my-firebase.firebaseio.com'
  });
  const userId = 'xxxxxxxxxxxx';
  const ref = firebase.database().ref(`datasource/${userId}`)
  .once('value').then( (snapshot) => {
    console.log(snapshot.val());
    return callback(null, 'ok');
  }, (error) => {
    console.error(error);
    return callback(error);
  });
Run Code Online (Sandbox Code Playgroud)

还有我的docker-compose.yml

version: "2"

services:

    test-import:
      build: .
      command: npm run dev
      volumes:
        - .:/var/www
      ports:
       - "7000:8080"
       - "443:443"
      depends_on:
        - mongo
      networks:
        - import-net

    mongo:
      container_name: mongo
      image: mongo
      networks:
        - import-net

networks:
    import-net:
      driver: bridge
Run Code Online (Sandbox Code Playgroud)

Kor*_*eel 2

就我而言,问题是serviceAccount.privateKey使用环境变量设置的。该环境变量的值是一个多行字符串,这导致了问题。因此,请仔细检查serviceAccount配置是否正确才能解决此问题。

编辑

我今天又遇到了同样的问题。解决方案是与 NTP 服务器同步时间,因为 Docker 容器中的时间错误(相差几天)。