Rumah > Soal Jawab > teks badan
使用 docer 应该尽量遵循 one process per container
但是 node 挂了怎么办?
我尝试在容器内使用 Pm2,但是容器一起来就结束了, docker 容器至少需要保证有一个进程,如果没有就会退出.可是我使用pm2为什么不行呢?
如果不能使用 pm2, docker run restart always 可以解决吗?
怪我咯2017-04-26 09:03:09
Apabila pm2 digunakan dalam docker, anda perlu menukar arahan pm2 kepada arahan pm2-docker supaya ia boleh dijalankan di latar depan. Dan saya secara peribadi merasakan bahawa tidak perlu menggunakan pm2 dalam docker Jika proses nod hang, bekas yang sepadan juga akan berhenti berjalan, jadi apabila memulakan bekas docker, tambahkan parameter restart=always untuk memulakan semula secara automatik
大家讲道理2017-04-26 09:03:09
Anda boleh merujuk kepada: dokumentasi integrasi docker tapak web rasmi pm2
曾经蜡笔没有小新2017-04-26 09:03:09
Anda perlu memastikan bahawa pm2 berjalan di latar depan, yang bermaksud bahawa proses yang dimulakan dalam CMD atau ENTRYPOINT dalam fail docker tidak boleh berjalan dalam mod daemon
某草草2017-04-26 09:03:09
Anda boleh menentukan bilangan teras CPU untuk digunakan semasa menjalankan bekas. Jika anda hanya memperuntukkan satu teras, tidak perlu memulakan berbilang proses Node.js, kerana unit penjadualan asas CPU ialah satu utas satu teras bermakna menjalankan satu proses Node.js itu sahaja