Songyou commited on
Commit
0228bb9
·
verified ·
1 Parent(s): 247a446

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +26 -10
Dockerfile CHANGED
@@ -1,13 +1,23 @@
1
- # 使用官方的 Miniconda 或 Anaconda 基础镜像
2
  FROM continuumio/miniconda3:latest
3
 
4
- # 设置工作目录
5
- WORKDIR /app
6
 
7
- # 复制 YAML 环境文件到容器中
8
- COPY environment-conda.yml .
 
9
 
10
- # 创建 Conda 环境并激活
 
 
 
 
 
 
 
 
 
11
  RUN conda env create -f environment-conda.yml
12
 
13
  # 激活环境,并设置为默认环境
@@ -16,11 +26,17 @@ RUN echo "conda activate LLM-fastAPI" >> ~/.bashrc
16
  # 确保容器启动时进入环境
17
  ENV PATH /opt/conda/envs/LLM-fastAPI/bin:$PATH
18
 
19
- # 复制应用代码到容器
20
- COPY . .
 
 
 
 
 
 
21
 
22
- # 开放端口 8000
23
  EXPOSE 8000
24
 
25
- # 设置 FastAPI 启动命令
26
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]
 
1
+ # 使用官方的 Miniconda 基础镜像
2
  FROM continuumio/miniconda3:latest
3
 
4
+ # 创建一个新的用户 "user" 并设置用户 ID 为 1000
5
+ RUN useradd -m -u 1000 user
6
 
7
+ # 设置用户的 HOME 目录和 PATH
8
+ ENV HOME=/home/user \
9
+ PATH=/home/user/.local/bin:$PATH
10
 
11
+ # 切换到新创建的用户
12
+ USER user
13
+
14
+ # 设置工作目录到用户的 HOME 目录
15
+ WORKDIR $HOME/app
16
+
17
+ # 复制 Conda 环境文件到容器,设置所属用户为 user
18
+ COPY --chown=user environment-conda.yml .
19
+
20
+ # 使用 Conda 创建虚拟环境
21
  RUN conda env create -f environment-conda.yml
22
 
23
  # 激活环境,并设置为默认环境
 
26
  # 确保容器启动时进入环境
27
  ENV PATH /opt/conda/envs/LLM-fastAPI/bin:$PATH
28
 
29
+ # 复制应用代码到容器,设置所属用户为 user
30
+ COPY --chown=user . .
31
+
32
+ # 如果需要下载检查点,可以在这里添加相关命令
33
+ # RUN mkdir content
34
+ # ADD --chown=user https://<SOME_ASSET_URL> content/<SOME_ASSET_NAME>
35
+
36
+ COPY --chown=user . $HOME/app
37
 
38
+ # 暴露端口 8000
39
  EXPOSE 8000
40
 
41
+ # 启动 FastAPI 应用
42
  CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"]