File size: 798 Bytes
24e71c2 2764c00 bb549a7 24e71c2 2764c00 d2460fa 3472db0 2b654dd d2460fa 3472db0 2764c00 d2460fa 3472db0 2764c00 d2460fa 24e71c2 2764c00 d2460fa 2764c00 d2460fa 24e71c2 d2460fa 3472db0 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# 使用基于 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"] |