test-repo/Dockerfile

35 lines
971 B
Docker
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

FROM crpi-1x701qgqjia2gdeu.cn-chengdu.personal.cr.aliyuncs.com/gitlink-help-center/gitlink-help-center:node-20-alpine
LABEL maintainer="yuankaifneg <2894340009@qq.com>"
# 设置为root用户以安装系统依赖
USER root
# 安装必要的系统依赖
RUN yum install -y \
git \
python3 \
make \
gcc-c++ \
bash && \
yum clean all
# 设置工作目录
WORKDIR /app
# 优先复制package.json和package-lock.json以利用Docker缓存
COPY package.json package-lock.json ./
# 安装依赖忽略peer依赖冲突
RUN npm install --legacy-peer-deps
# 复制项目文件
COPY . .
# 构建应用
RUN npm run build
# 暴露端口
EXPOSE 3000
# 设置环境变量
ENV NODE_ENV=production
ENV PORT=3000
# 健康检查
HEALTHCHECK --interval=30s --timeout=3s --start-period=40s --retries=3 \
CMD node -e "require('http').get('http://localhost:3000', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"
# 启动应用
CMD ["npm", "run", "serve"]