StarrySkyWorld commited on
Commit
9e6a0b2
·
verified ·
1 Parent(s): e72d76d

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +14 -10
Dockerfile CHANGED
@@ -1,22 +1,26 @@
1
  FROM calciumion/new-api:latest
2
 
3
- # 切换到 root 进行配置
4
  USER root
5
 
6
- # 1. 设置工作目录为根目录(因为二进制文件 new-api 在这里)
7
- WORKDIR /
8
-
9
- # 2. 确保数据目录存在并给最高权限,防止 HF UID 1000 无法写入
10
- RUN mkdir -p /data && chmod -R 777 /data
11
 
12
- # 3. 显式赋予二进制文件执行权限
13
  RUN chmod +x /new-api
14
 
15
- # 4. 设置时区
 
16
  ENV TZ=Asia/Shanghai
17
 
18
- # 5. 切换 HF 默认用户 1000(提高兼容性)
 
 
 
19
  USER 1000
20
 
21
- # 6. 使用绝对路径启动,不要依赖 shell 查找
22
  ENTRYPOINT ["/new-api"]
 
1
  FROM calciumion/new-api:latest
2
 
3
+ # 切换到 root 预设环境
4
  USER root
5
 
6
+ # 1. 一次性创建所有可能需要的目录,并赋予 UID 1000 最高权限
7
+ # 包括 /data (数据库/缓存) 和 /logs (日志)
8
+ RUN mkdir -p /data /logs && \
9
+ chmod -R 777 /data /logs && \
10
+ chown -R 1000:1000 /data /logs
11
 
12
+ # 2. 赋予二进制文件执行权限
13
  RUN chmod +x /new-api
14
 
15
+ # 3. 设置环境变量,强制程序将日志写入我们刚才创建并赋权的目录
16
+ ENV LOG_DIR=/logs
17
  ENV TZ=Asia/Shanghai
18
 
19
+ # 4. 工作目录
20
+ WORKDIR /
21
+
22
+ # 5. 切换到 HF 默认用户 1000
23
  USER 1000
24
 
25
+ # 6. 启动命令
26
  ENTRYPOINT ["/new-api"]