# 使用基于 Debian 的官方 Node.js 20 slim 镜像 FROM node:20-slim RUN apt-get update && apt-get install -y ca-certificates && rm -rf /var/lib/apt/lists/* # 设置工作目录 WORKDIR /app # 1. 复制 package.json 文件 # 这是为了利用 Docker 的缓存,如果依赖不变,就不用重新安装 COPY package*.json ./ # 2. 安装 package.json 中定义的所有依赖 (也就是 wrangler) RUN npm install # 3. 将你项目中的所有文件 (主要是 index.js) 复制到容器中 COPY . . # 4. 将工作目录的所有权交给 'node' 用户 (解决权限问题的关键) RUN chown -R node:node /app # 5. 切换到 'node' 用户 (安全实践) USER node # 暴露端口 EXPOSE 8080 # 容器启动命令:执行 package.json 中定义的 "start" 脚本 CMD ["npm", "start"]