修改docker脚本
Some checks failed
Some checks failed
This commit is contained in:
15
Dockerfile
15
Dockerfile
@@ -1,11 +1,20 @@
|
||||
FROM node:20-alpine AS base
|
||||
# 默认使用本地镜像 local-node:20-alpine(可先执行: docker tag node:20-alpine local-node:20-alpine)
|
||||
# 也可通过 --build-arg NODE_IMAGE=xxx 指定其他镜像
|
||||
ARG NODE_IMAGE=node:20-alpine
|
||||
FROM ${NODE_IMAGE} AS base
|
||||
|
||||
FROM base AS deps
|
||||
# 国内构建若卡在 npm ci,可传 --build-arg NPM_REGISTRY=https://registry.npmmirror.com
|
||||
ARG NPM_REGISTRY=https://registry.npmjs.org/
|
||||
RUN apk add --no-cache libc6-compat
|
||||
WORKDIR /app
|
||||
COPY package.json package-lock.json ./
|
||||
# 提高超时与重试,避免内网/跨平台构建时 npm 拉包 EIDLETIMEOUT
|
||||
RUN npm config set fetch-timeout 300000 && npm config set fetch-retries 5 && npm ci
|
||||
RUN npm config set registry "$NPM_REGISTRY" \
|
||||
&& npm config set fetch-timeout 300000 \
|
||||
&& npm config set fetch-retries 5
|
||||
# 使用 BuildKit 缓存 npm 目录,二次构建更快
|
||||
RUN --mount=type=cache,target=/root/.npm \
|
||||
npm ci
|
||||
|
||||
# Rebuild the source code only when needed
|
||||
FROM base AS builder
|
||||
|
||||
Reference in New Issue
Block a user