2016-11-11 175 views
2

我在dockerizing一個Node.js HTTP自適應流式web應用程序。在Nodejs服務器中,我使用子進程(spawn)調用FFMPEG將用戶上傳的文件編碼爲不同的比特率,然後我再調用MP4Box來突破比特率。Nodejs子進程在容器docker中產生

spawn('MP4Box', argDash, {cwd: './uploads'}); 
spawn('ffmpeg', arrStr, {cwd: './uploads'}); 

如何在容器內部運行nodejs服務器時調用這兩個程序?

回答

0

在Docker容器中運行多個進程沒有任何問題。容器擁有自己的進程名稱空間(容器中的ps只顯示在該容器中創建的進程,主機上的ps將顯示所有進程,包括容器內的進程)。 Docker引擎守護進程只會「監視」PID 0,它是你的ENTRYPOINT/CMD進程,我認爲這將是產生MP4Box和ffmpeg的父進程。

我對這些應用程序並不熟悉,但我認爲你可能想使用./uploads的卷繞過聯合文件系統。