Table of Contents

简介

本司的一些nodejs环境基本都运行在pm2的环境下,pm2是一个node环境下的多进程管理工具,通过pm2可以提升不少性能,管理起来也比较方便。在制作nodejs+pm2镜像时,建议指定版本进行安装,这样可以避免时间一久出现版本上不兼容的问题。

dockerfile代码

通过apk直接安装,系统指定版本,避免后续时间久了,出现版本不兼容的情况,如果是需要安装指定版本的话,可以将nodejs更改成nodejs==18.18.2 ,后边的数字是版本号。

# VERSION 1 - EDITION 1
# # Author: wangbikang 

FROM alpine:3.18
WORKDIR /app

RUN rm -rf /var/cache/apk/* && \
    rm -rf /tmp/*

RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories

ENV TZ=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/${TZ} /etc/localtime && echo ${TZ} > /etc/timezone
RUN     apk add --no-cache --virtual .build-deps \
                nodejs \
                npm \
                curl \
        && apk add --no-cache --virtual .gettext gettext \
        && mv /usr/bin/envsubst /tmp/ \
        && mv /tmp/envsubst /usr/local/bin/ \
        && apk add --no-cache tzdata
RUN     npm install pm2@latest -g 
CMD ["pm2","-v"]
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.