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"]