Spaces:
Running
Running
Change to Docker
Browse files- Dockerfile +9 -8
- app.py +6 -1
Dockerfile
CHANGED
@@ -1,16 +1,17 @@
|
|
1 |
-
|
|
|
2 |
|
3 |
# 设置工作目录
|
4 |
WORKDIR /app
|
5 |
|
6 |
-
#
|
7 |
-
COPY .
|
8 |
|
9 |
-
#
|
10 |
RUN pip install -r requirements.txt
|
11 |
|
12 |
-
#
|
13 |
-
EXPOSE
|
14 |
|
15 |
-
#
|
16 |
-
CMD ["
|
|
|
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 |
-
#
|
|
|
|
|
|
|
|
|
|
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)
|