lengfengy commited on
Commit
8612b78
·
verified ·
1 Parent(s): a0a83ef

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +21 -9
Dockerfile CHANGED
@@ -1,18 +1,30 @@
1
- # 你想要的镜像
2
  FROM ghcr.io/su-kaka/gcli2api:latest
3
 
4
- # 设置环境变量 (对应你 compose 里的 environment)
5
- # 注意:HF 默认监听 7860 端口,建议将 PORT 改为 7860
 
 
 
6
  ENV PASSWORD=xiao168888
7
  ENV PORT=7860
8
 
9
- # 创建数据目录并给予权限 (HF 容器以非 root 用户运行,这步很重要)
10
- USER root
11
  RUN mkdir -p /app/creds && chmod -R 777 /app/creds
12
- USER 1000
13
 
14
- # 暴露端口
15
  EXPOSE 7860
16
 
17
- # 启动命令
18
- CMD ["python", "main.py"]
 
 
 
 
 
 
 
 
 
 
 
1
+ # 1. 使原作者镜像
2
  FROM ghcr.io/su-kaka/gcli2api:latest
3
 
4
+ # 2. 切换到 root 权限进行配置
5
+ USER root
6
+
7
+ # 3. 设置环境变量
8
+ # 核心:HF 必须监听 7860,否则外部无法访问
9
  ENV PASSWORD=xiao168888
10
  ENV PORT=7860
11
 
12
+ # 4. 处理持久化目录权限
13
+ # HF 容器内部默认使用 user id 1000
14
  RUN mkdir -p /app/creds && chmod -R 777 /app/creds
 
15
 
16
+ # 5. 暴露端口
17
  EXPOSE 7860
18
 
19
+ # 6. 核心:Entrypoint 逻辑转换
20
+ # 将你的 shell 逻辑写成一个启动脚本
21
+ RUN echo '#!/bin/sh\n\
22
+ echo "✅正在启动服务..."\n\
23
+ # 如果原镜像需要特定域名替换逻辑,可以在此处添加\n\
24
+ exec python web.py' > /app/start.sh && chmod +x /app/start.sh
25
+
26
+ # 7. 切换回非 root 用户(HF 安全要求)
27
+ USER 1000
28
+
29
+ # 8. 启动命令
30
+ ENTRYPOINT ["/app/start.sh"]