2017-01-09 7 views
0

도커 컨테이너 안에 노드 앱을 실행 중입니다. 여기 동일한 포트에 2 개의 프로세스가 있습니까?

는 dockerfile이다

FROM maven:3.3.3-jdk-8 

#install node 
RUN apt-get update 
RUN apt-get -qq update 
RUN apt-get install -y nodejs npm 

# TODO could uninstall some build dependencies 
RUN update-alternatives --install /usr/bin/node node /usr/bin/nodejs 10 

# Install packages for envsubst 
RUN apt-get update && apt-get upgrade -y --force-yes && rm -rf /var/lib/apt/lists/*; 
RUN apt-get update 
RUN apt-get install -y gettext-base 


# Create app directory 
RUN mkdir -p /usr/src/app 
WORKDIR /usr/src/app 

# cache package.json and node_modules to speed up builds 
COPY src src 
COPY package.json package.json 
#COPY node_modules node_modules 
COPY pom.xml pom.xml 
COPY Gruntfile.js Gruntfile.js 
COPY gulpfile.js gulpfile.js 
COPY settings.xml settings.xml 

# Substitute dependencies from environment variables 
COPY entrypoint.sh /entrypoint.sh 
RUN chmod +x /entrypoint.sh 
ENTRYPOINT ["/entrypoint.sh"] 

EXPOSE 8000 

entrypoint.sh

#!/bin/sh 

rm -rf /usr/src/app/src/js/app.js 
envsubst < "/usr/src/app/src/js/envapp.js" > "/usr/src/app/src/js/app.js" 
mvn clean install -DskipTests -s settings.xml 
exec npm start 

I 용기에 SSH를 때,이 용기

[email protected]:/usr/src/app# ps aux | grep '8000' 
root  158 0.0 0.0 4332 648 ?  S 13:54 0:00 sh -c http-server -a 0.0.0.0 -p 8000 
root  159 0.1 0.7 668520 15260 ?  Sl 13:54 0:00 node /usr/src/app/node_modules/.bin/http-server -a 0.0.0.0 -p 8000 
root  168 0.0 0.0 12808 976 ?  S+ 13:55 0:00 grep 8000 

에 runnng 다른 PID를 두 prcesses 참조 예상 되나요?

답변

1

그렇다고해서 모두 8000에서 청취하고있는 것은 아닙니다. 즉, 8000에서 수신 대기하는 매개 변수가 있음을 의미합니다.이 경우 을 호출하는 래퍼 sh -c http-server ...이 있습니다.

실제로 열리는 내용을 보려면 lsof 또는 netstat 명령을 사용하거나/proc을 체크 인해야합니다.