Spaces:
Configuration error
Configuration error
Create Dockerfile
Browse files- Dockerfile +30 -0
Dockerfile
ADDED
|
@@ -0,0 +1,30 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
# 使用官方Python 3.10 slim镜像
|
| 2 |
+
FROM python:3.10-slim
|
| 3 |
+
|
| 4 |
+
# --- 1. 设置工作目录 ---
|
| 5 |
+
WORKDIR /app
|
| 6 |
+
|
| 7 |
+
# --- 2. 创建应用用户 ---
|
| 8 |
+
# 最佳实践:不以root身份运行应用
|
| 9 |
+
RUN useradd --create-home --shell /bin/bash appuser
|
| 10 |
+
|
| 11 |
+
# --- 3. 复制测试代码和依赖文件 ---
|
| 12 |
+
# 只复制这两个最小化的文件
|
| 13 |
+
COPY test_app.py .
|
| 14 |
+
COPY test_requirements.txt .
|
| 15 |
+
|
| 16 |
+
# --- 4. 安装最小依赖 ---
|
| 17 |
+
RUN pip install --no-cache-dir -r test_requirements.txt
|
| 18 |
+
|
| 19 |
+
# --- 5. 设置权限 ---
|
| 20 |
+
RUN chown -R appuser:appuser /app
|
| 21 |
+
|
| 22 |
+
# --- 6. 切换到非root用户 ---
|
| 23 |
+
USER appuser
|
| 24 |
+
|
| 25 |
+
# --- 7. 暴露端口 ---
|
| 26 |
+
EXPOSE 7860
|
| 27 |
+
|
| 28 |
+
# --- 8. 启动测试应用 ---
|
| 29 |
+
# 明确告诉Gunicorn去运行 test_app.py 文件中的 app 实例
|
| 30 |
+
CMD ["gunicorn", "--workers", "1", "--bind", "0.0.0.0:7860", "test_app:app"]
|