youbiaokachi commited on
Commit
a01c1a3
·
verified ·
1 Parent(s): cf55f28

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +6 -8
Dockerfile CHANGED
@@ -1,20 +1,18 @@
1
  # 使用官方的 uv 镜像
2
  FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim
3
- # 设置工作目录
4
  WORKDIR /app
5
  # 解决权限问题的关键:
6
- # 1. 告诉 uv 把缓存放在 /app/.cache 目录(当前用户有权限)
7
- ENV UV_CACHE_DIR=/app/.cache
8
- # 2. 告诉 uv 把 `uv run` 创建的虚拟环境放在 /app/.venv 目录
9
- ENV UV_VENV_PATH=/app/.venv
10
  # 你的应用需要的其他环境变量
11
  ENV WARP_LOG_LEVEL=info
12
  ENV WARP_ACCESS_LOG=true
13
  ENV OPENAI_LOG_LEVEL=info
14
  ENV OPENAI_ACCESS_LOG=true
15
- # 复制所有文件到工作目录
16
- # 基础镜像已经设置了非 root 用户,所以这里的文件会自动属于该用户
17
  COPY . .
18
  # 启动命令
19
- # 现在 uv 会在 /app/.venv 创建虚拟环境,不会再有权限问题
20
  CMD ["uv", "run", "./start.py"]
 
1
  # 使用官方的 uv 镜像
2
  FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim
3
+ # 设置工作目录(容器启动后会在这里)
4
  WORKDIR /app
5
  # 解决权限问题的关键:
6
+ # uv 的缓存和虚拟环境目录全部指向 /tmp,这是一个保证可写的目录
7
+ ENV UV_CACHE_DIR=/tmp/uv-cache
8
+ ENV UV_VENV_PATH=/tmp/uv-venv
 
9
  # 你的应用需要的其他环境变量
10
  ENV WARP_LOG_LEVEL=info
11
  ENV WARP_ACCESS_LOG=true
12
  ENV OPENAI_LOG_LEVEL=info
13
  ENV OPENAI_ACCESS_LOG=true
14
+ # 复制你的代码到工作目录
 
15
  COPY . .
16
  # 启动命令
17
+ # uv 会在 /tmp/uv-venv 创建虚拟环境,在 /tmp/uv-cache 存放缓存
18
  CMD ["uv", "run", "./start.py"]