FROM node:18-alpine as builder RUN mkdir /app WORKDIR /app COPY . /app RUN npm i -g pnpm && pnpm i && pnpm build FROM node:18-alpine LABEL maintainer="https://github.com/zgq354/weibo-rss" RUN mkdir /app WORKDIR /app # container init RUN wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.1/dumb-init_1.2.1_amd64 && \ echo "057ecd4ac1d3c3be31f82fc0848bf77b1326a975b4f8423fe31607205a0fe945 /usr/local/bin/dumb-init" | sha256sum -c - && \ chmod 755 /usr/local/bin/dumb-init COPY package.json pnpm-lock.yaml /app/ RUN npm install -g pnpm && pnpm install --prod # app code COPY . /app COPY --from=builder /app/dist /app/dist EXPOSE 3000 ENTRYPOINT ["/usr/local/bin/dumb-init", "--"] CMD ["node", "/app/dist/app.js"]