簡體   English   中英

在Docker容器中運行的多個httpd進程

[英]Multiple httpd processes running in Docker Container

這是我為在centos上安裝httpd創建的Dockerfile

#Installing HTTPD
FROM centos:latest
MAINTAINER xxx@gmail.com
RUN yum install -y httpd
EXPOSE 80
#ENTRYPOINT ["systemctl"]
ENTRYPOINT ["/usr/sbin/httpd"]

構建后,當我運行容器時,我可以看到在該容器中運行了太多的httpd進程:

docker run -d -p 80:80 httpd:4.0 -DFOREGROUND

Docker top命令的輸出:

UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
root                2457                2443                0                   04:26               ?                   00:00:00            /usr/sbin/httpd -DFOREGROUND
apache              2474                2457                0                   04:26               ?                   00:00:00            /usr/sbin/httpd -DFOREGROUND
apache              2475                2457                0                   04:26               ?                   00:00:00            /usr/sbin/httpd -DFOREGROUND
apache              2476                2457                0                   04:26               ?                   00:00:00            /usr/sbin/httpd -DFOREGROUND
apache              2477                2457                0                   04:26               ?                   00:00:00            /usr/sbin/httpd -DFOREGROUND
apache              2478                2457                0                   04:26               ?                   00:00:00            /usr/sbin/httpd -DFOREGROUND
apache              2491                2457                0                   04:26               ?                   00:00:00            /usr/sbin/httpd -DFOREGROUND
apache              2492                2457                0                   04:26               ?                   00:00:00            /usr/sbin/httpd -DFOREGROUND
apache              2493                2457                0                   04:26               ?                   00:00:00            /usr/sbin/httpd -DFOREGROUND
root                2512                2500                0                   04:27               pts/0               00:00:00            /bin/bash
apache              2532                2457                0                   04:27               ?                   00:00:00            /usr/sbin/httpd -DFOREGROUND

請讓我知道為什么這么多httpd進程正在運行,以及如何只有一個進程具有PID 1?

Apache會運行多個進程以准備好快速捕獲客戶端請求,因為產生服務器進程很慢,因此最好在請求進入時准備好一個進程。
您可以通過StartServersMinSpareServersMaxSpareServersServerLimit指令在httpd.conf配置它們的編號。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM