2016-07-07 54 views
4

我試圖從Docker容器中的node.js應用程序查詢firebase。它在本地工作,但不在容器中。我打開了端口443,我可以向谷歌提出請求。由於某種原因,我從來沒有得到在Docker容器中運行的響應。我懷疑這是與websockets。Docker中沒有響應來自Firebase

我的端口是:0.0.0.0:443->443/tcp,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是否正確配置以解決此問題。

編輯

我今天再次有同樣的問題。解決方案是將時間與NTP服務器同步,因爲Docker容器中的時間錯誤(幾天休息)。

+0

只是好奇你是否爲Node/Firebase容器創建了Docker鏡像? – Ginfuru

+1

@Ginfuru我使用了官方的節點泊塢窗圖像。 – Korneel

相關問題