1. 程式人生 > >Docker容器裡的程序為什麼要前臺執行

Docker容器裡的程序為什麼要前臺執行

    《第一本Docker書》裡面,講到Docker容器啟動web服務時,都指定了前臺執行的引數,例如apache:

ENTRYPOINT [ "/usr/sbin/apache2" ]
CMD ["-D", "FOREGROUND"]
    又例如nginx:
ENTRYPOINT [ "/usr/sbin/nginx", "-g", "daemon off;" ]
 

    為什麼要這麼做呢?因為Docker容器僅在它的1號程序(PID為1)執行時,會保持執行。如果1號程序退出了,Docker容器也就退出了。