gm-cf / Dockerfile
xibalami's picture
Update Dockerfile
bb549a7 verified
raw
history blame contribute delete
798 Bytes
# 使用基于 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"]