31 lines
948 B
Docker
31 lines
948 B
Docker
# ---------------------------------------
|
||
# 这是开发模式 (Development Mode) 的配置
|
||
# ---------------------------------------
|
||
|
||
# 1. 使用 Node 20 的 Alpine 版本 (轻量级)
|
||
FROM node:20-alpine
|
||
|
||
# 【关键新增】安装 libc6 兼容库
|
||
# 这一步能解决 90% 的 "Cannot find module ... musl.node" 或二进制文件缺失问题
|
||
RUN apk add --no-cache libc6-compat
|
||
|
||
# 设置工作目录
|
||
WORKDIR /app
|
||
|
||
# 2. 优先复制 package.json 和 lock 文件
|
||
# 这样如果只改代码不改依赖,Docker 会利用缓存跳过安装步骤,构建更快
|
||
COPY package*.json ./
|
||
|
||
# 3. 安装依赖
|
||
# 这一步会在容器内部下载适合 Alpine Linux 的依赖包
|
||
RUN npm install
|
||
|
||
# 4. 复制其余源代码
|
||
COPY . .
|
||
|
||
# 5. 暴露端口 (仅作声明,方便查看)
|
||
EXPOSE 5173
|
||
|
||
# 6. 启动开发服务器
|
||
# 必须加 --host,否则只能在容器内部访问,无法通过浏览器 localhost 访问
|
||
CMD ["npm", "run", "dev", "--", "--host"] |