2016-07-07 12 views
4

Dockerコンテナ内のnode.jsアプリケーションからFirebaseを照会しようとしています。ローカルでは動作しますが、コンテナでは動作しません。私はポート443を開いており、私はグーグルへのリクエストをうまく行うことができます。何らかの理由で私はDockerのコンテナで応答を返すことはありません。私はそれがwebsocketsで何かだと思う。DockerのFirebaseからの応答がありません

私のポートは以下のとおりです。0.0.0.0:443->443/tcp、

そして、私のドッキングウィンドウのsyslogに0.0.0.0:8080->8080/tcp: は:172.18.0.3から送られた予期しないTCPパケットをドロップ:33288〜216.58.210.173:443(有効な情報源= 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); 
    }); 

そして、私のドッキングウィンドウ-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 

答えて

2

問題がserviceAccount.privateKeyは、環境変数を使用して設定されたということでした。その環境変数の値は複数行の文字列であり、それが問題を引き起こしていました。したがって、これを解決するには、serviceAccountが正しく設定されていることを再度確認してください。

編集

私は今日も同じ問題を抱えていました。解決策は、Dockerコンテナの時刻が間違っていたため(数日はオフ)、NTPサーバーと時刻を同期させることでした。

+0

ノード/ Firebaseコンテナ用のDockerイメージを作成したかどうか不思議ですか? – Ginfuru

+1

@Ginfuru私は公式ノードのドッカー画像を使用しました。 – Korneel

関連する問題