xrunx commited on
Commit
c40ba90
·
verified ·
1 Parent(s): 07266c3

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +6 -39
Dockerfile CHANGED
@@ -1,46 +1,13 @@
1
- # 使用官方Node.js镜像,包含更完整的系统工具
2
- FROM node:18-alpine
3
 
4
- # 设置工作目录
5
  WORKDIR /app
6
 
7
- # 安装必要的系统依赖
8
- RUN apk add --no-cache \
9
- bash \
10
- curl \
11
- ca-certificates \
12
- && rm -rf /var/cache/apk/*
13
 
14
- # 创建非root用户以提高安全性
15
- RUN addgroup -g 1001 -S nodejs && \
16
- adduser -S nodejs -u 1001
17
-
18
- # 首先复制package.json以利用Docker层缓存
19
- COPY package*.json ./
20
-
21
- # 安装Node.js依赖
22
- RUN npm ci --only=production && \
23
- npm cache clean --force
24
-
25
- # 复制应用文件(排除不必要的文件)
26
- COPY index.js ./
27
- COPY start.sh ./
28
- COPY server ./
29
-
30
- # 设置正确的文件权限
31
- RUN chmod +x start.sh server && \
32
- chmod 644 index.js package.json && \
33
- chown -R nodejs:nodejs /app
34
-
35
- # 切换到非root用户
36
- USER nodejs
37
-
38
- # 暴露端口
39
  EXPOSE 7860
40
 
41
- # 健康检查
42
- HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
43
- CMD curl -f http://localhost:7860/ || exit 1
44
 
45
- # 使用start.sh作为入口点,这样可以正确设置环境变量
46
- CMD ["./start.sh"]
 
1
+ FROM node:slim
 
2
 
 
3
  WORKDIR /app
4
 
5
+ COPY . .
 
 
 
 
 
6
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
7
  EXPOSE 7860
8
 
9
+ RUN apt-get update && \
10
+ chmod 775 server index.js package.json start.sh /app &&\
11
+ npm install
12
 
13
+ CMD ["node", "index.js"]