parkerjj commited on
Commit
a803b83
·
1 Parent(s): a29b172

Change to Docker

Browse files
Files changed (2) hide show
  1. Dockerfile +9 -8
  2. app.py +6 -1
Dockerfile CHANGED
@@ -1,16 +1,17 @@
1
- FROM python:3.10-slim
 
2
 
3
  # 设置工作目录
4
  WORKDIR /app
5
 
6
- # 复制项目文件
7
- COPY . .
8
 
9
- # 安装依赖
10
  RUN pip install -r requirements.txt
11
 
12
- # 暴露应用端口
13
- EXPOSE 63468
14
 
15
- # 运行应用
16
- CMD ["python", "app.py"]
 
1
+ # 使用官方的 Python 镜像作为基础镜像
2
+ FROM python:3.12-slim
3
 
4
  # 设置工作目录
5
  WORKDIR /app
6
 
7
+ # 复制当前目录的内容到容器中的 /app 目录
8
+ COPY . /app
9
 
10
+ # 安装所需的 Python 包
11
  RUN pip install -r requirements.txt
12
 
13
+ # 公开 Gradio 默认的端口 7860
14
+ EXPOSE 7860
15
 
16
+ # 使用 Uvicorn 启动应用,并监听 0.0.0.0:7860
17
+ CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]
app.py CHANGED
@@ -1,3 +1,4 @@
 
1
  import gradio as gr
2
  from fastapi import FastAPI
3
  from pydantic import BaseModel
@@ -27,4 +28,8 @@ def fake_interface():
27
  # 将 Gradio 应用挂载到 "/gradio" 路径
28
  app = gr.mount_gradio_app(app, gr.Interface(fn=fake_interface, inputs=None, outputs="text"), path="/gradio")
29
 
30
- # 注意:Hugging Face Spaces 会自动运行此 app 文件,因此不需要 __main__ 入口。
 
 
 
 
 
1
+ import os
2
  import gradio as gr
3
  from fastapi import FastAPI
4
  from pydantic import BaseModel
 
28
  # 将 Gradio 应用挂载到 "/gradio" 路径
29
  app = gr.mount_gradio_app(app, gr.Interface(fn=fake_interface, inputs=None, outputs="text"), path="/gradio")
30
 
31
+ # 启动应用,使用环境变量指定的端口
32
+ if __name__ == "__main__":
33
+ import uvicorn
34
+ port = int(os.getenv("PORT", 7860)) # 获取 PORT 环境变量
35
+ uvicorn.run(app, host="0.0.0.0", port=port)