简体   繁体   English

如何在 distroless 映像中运行 PM2

[英]How to run PM2 in a distroless image

I want to run node application with pm2 in distroless image.我想在 distroless 映像中使用 pm2 运行节点应用程序。 As it do not have any shell inside it.因为它里面没有任何外壳。

Use this docker file for reference, for pm2 shell /bin/sh is required so we are manually copying all the required package from above image.使用这个 docker 文件作为参考,因为 pm2 shell /bin/sh 是必需的,所以我们从上面的图像中手动复制所有需要的包。 After passing the absolute path in CMD or ENTRYPOINT it will work fine.在 CMD 或 ENTRYPOINT 中传递绝对路径后,它将正常工作。

FROM node AS build-env FROM 节点 AS build-env

ADD .添加 。 /app /应用程序

RUN apt-get update运行 apt-get 更新

WORKDIR /app工作目录 /app

RUN npm install --omit=dev运行 npm install --omit=dev

RUN npm --loglevel info install pm2 -g运行 npm --loglevel info install pm2 -g

RUN ls -a运行 ls -a

RUN pm2 --version运行 pm2 --version

FROM gcr.io/distroless/nodejs:12来自 gcr.io/distroless/nodejs:12

COPY --from=build-env /usr/local/ /usr/local复制 --from=build-env /usr/local/ /usr/local

COPY --from=build-env /usr/local/ /usr/local复制 --from=build-env /usr/local/ /usr/local

COPY --from=build-env /usr/sbin/ /usr/sbin复制 --from=build-env /usr/sbin/ /usr/sbin

COPY --from=build-env /usr/share/ /usr/share/复制 --from=build-env /usr/share/ /usr/share/

COPY --from=build-env /usr/src/ /usr/src/复制 --from=build-env /usr/src/ /usr/src/

COPY --from=build-env /usr/bin/ /usr/bin/复制 --from=build-env /usr/bin/ /usr/bin/

COPY --from=build-env /bin/ /bin/复制 --from=build-env /bin/ /bin/

COPY --from=build-env /app /app复制 --from=build-env /app /app

WORKDIR /app工作目录 /app

EXPOSE 3000曝光 3000

CMD ["/usr/local/lib/node_modules/pm2/lib/binaries/Runtime4Docker.js","hello_express.js"] CMD ["/usr/local/lib/node_modules/pm2/lib/binaries/Runtime4Docker.js","hello_express.js"]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM