我在 docker 容器中运行节点应用程序。
这是码头文件
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
入口点.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
当我 ssh 进入容器时,我看到两个具有不同 PID 的进程在这个容器上运行
root@63387c253612:/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
这是预期的吗?