
Some checks failed
continuous-integration/drone/push Build is failing
- 注释掉了配置华为软件源的命令,以适应国内网络环境的变化 - 保留了安装 tzdata 包的命令,用于配置时区
37 lines
1.1 KiB
Docker
37 lines
1.1 KiB
Docker
FROM node:22-alpine
|
||
|
||
WORKDIR /app
|
||
|
||
# 配置alpine国内镜像加速
|
||
# RUN sed -i "s@http://dl-cdn.alpinelinux.org/@https://repo.huaweicloud.com/@g" /etc/apk/repositories
|
||
|
||
# 安装tzdata,默认的alpine基础镜像不包含时区组件,安装后可通过TZ环境变量配置时区
|
||
RUN apk add --no-cache tzdata
|
||
|
||
# 设置时区为中国东八区,这里的配置可以被docker-compose.yml或docker run时指定的时区覆盖
|
||
ENV TZ="Asia/Shanghai"
|
||
|
||
# 如果各公司有自己的私有源,可以替换registry地址,如使用官方源注释下一行
|
||
RUN npm config set registry https://registry.npmmirror.com
|
||
|
||
# 安装 pnpm 和全局依赖
|
||
RUN npm install -g pnpm
|
||
RUN pnpm config set registry https://registry.npmmirror.com
|
||
|
||
# 安装开发期依赖
|
||
COPY package.json ./package.json
|
||
RUN pnpm install
|
||
|
||
# 构建项目
|
||
COPY . .
|
||
RUN pnpm run build
|
||
|
||
# 删除开发期依赖
|
||
RUN rm -rf node_modules && rm pnpm-lock.yaml
|
||
# 安装生产环境依赖
|
||
RUN pnpm install --production
|
||
|
||
# 如果端口更换,这边可以更新一下
|
||
EXPOSE 8001
|
||
|
||
CMD ["pnpm", "start"] |