2015-02-09 118 views
2

我在Docker容器中永久運行節點應用程序,我如何獲取所有console.log輸出以顯示在控制檯上?我是碼頭工人的初學者,所以我認爲用docker登錄的最好方法就是簡單地登錄到stdout。如果有更好的方法可以做到這一點,我可以選擇其他解決方案。如何永久地將子進程輸出打印到標準輸出。

回答

1

forever,與標準node一樣,只是簡單地登錄到stdout,所以你不應該做任何特別的事情。當然,如果您使用docker run -d啓動容器,則必須運行docker logs -f myNodeContainer以實際查看實時輸出。

1

我剛剛遇到了這個問題,因爲我也是第一次永遠安裝,只用forever server.js就跑了......沒什麼。

沒有節點控制檯消息,只是關於沒有--minUptime和沒有--spinSleepTime的警告。我停止了使用forever stopall的永久進程,並去尋找日誌。果然,在永遠的日誌裏是來自我的服務器的所有標準輸出。

我以爲我錯過了一個打印到標準輸出的選項,但顯然不是。讀完這個SO問題後,我啓動一個新的終端,再次運行它並且它可以工作 - 它現在將我的服務器消息記錄到控制檯。

從那時起,我也經歷了很多與永遠的奇怪問題。就像連續重啓腳本一樣,即使腳本無法在1000ms內啓動(其中一個文件中出現語法錯誤) - 我會停止它,再次永遠運行(相同的選項,相同的源文件),它會按照它的設想運行到(只運行腳本一次)。

不是一個真正的答案(對不起),但這是爲了防止任何人尋求信息。

相關問題