isididiidid commited on
Commit
194bf03
·
verified ·
1 Parent(s): 053048a

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +15 -6
Dockerfile CHANGED
@@ -1,22 +1,31 @@
1
- # 1. 使用官方的Node.js 18 slim版本,它也足够
2
  FROM node:18-slim
3
 
4
  # 2. 设置工作目录
5
  WORKDIR /app
6
 
7
- # 3. 复制 package.json 和 package-lock.json 并安装依赖
 
 
 
 
 
8
  COPY package*.json ./
9
  RUN npm install --omit=dev
10
 
11
- # 4. 复制项目的所有源代码和代理程序
12
  COPY src ./src
13
 
14
- # 5. 【关键】给予Linux代理程序可执行权限
 
 
 
 
15
  RUN chmod +x src/proxy/chrome_proxy_server_linux_amd64
16
 
17
- # 6. 设置并暴露Hugging Face要求的端口
18
  ENV PORT=7860
19
  EXPOSE 7860
20
 
21
- # 7. 定义容器启动命令
22
  CMD ["npm", "start"]
 
1
+ # 1. 使用官方的Node.js 18 slim版本
2
  FROM node:18-slim
3
 
4
  # 2. 设置工作目录
5
  WORKDIR /app
6
 
7
+ # 3. 【关键修改】在复制文件之前,先创建/app目录并赋予权限
8
+ # Hugging Face的运行用户是 user (UID 1000, GID 1000)
9
+ # 我们提前把/app目录的所有权交给它
10
+ RUN mkdir -p /app && chown -R 1000:1000 /app
11
+
12
+ # 4. 复制 package.json 和 package-lock.json 并安装依赖
13
  COPY package*.json ./
14
  RUN npm install --omit=dev
15
 
16
+ # 5. 复制项目的所有源代码和代理程序
17
  COPY src ./src
18
 
19
+ # 6. 【关键】再次确保所有复制进来的文件权限正确
20
+ RUN chown -R 1000:1000 .
21
+
22
+ # 7. 给予Linux代理程序可执行权限
23
+ # 注意:这一步要在chown之后,因为它会重置权限
24
  RUN chmod +x src/proxy/chrome_proxy_server_linux_amd64
25
 
26
+ # 8. 设置并暴露Hugging Face要求的端口
27
  ENV PORT=7860
28
  EXPOSE 7860
29
 
30
+ # 9. 定义容器启动命令
31
  CMD ["npm", "start"]