2016-11-11 78 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的卷绕过联合文件系统。