优化docker容器
This commit is contained in:
5
frontend/.dockerignore
Normal file
5
frontend/.dockerignore
Normal file
@@ -0,0 +1,5 @@
|
||||
venv/
|
||||
__pycache__/
|
||||
*.pyc
|
||||
flask_session/
|
||||
.env
|
||||
29
frontend/Dockerfile
Normal file
29
frontend/Dockerfile
Normal file
@@ -0,0 +1,29 @@
|
||||
# ============================================================
|
||||
# Weibo-HotSign Frontend Dockerfile (Flask)
|
||||
# ============================================================
|
||||
|
||||
FROM python:3.11-slim
|
||||
|
||||
WORKDIR /app
|
||||
|
||||
RUN apt-get update && apt-get install -y --no-install-recommends curl \
|
||||
&& rm -rf /var/lib/apt/lists/*
|
||||
|
||||
COPY requirements.txt .
|
||||
RUN pip install --no-cache-dir -r requirements.txt
|
||||
|
||||
COPY . .
|
||||
|
||||
# 创建 flask_session 目录
|
||||
RUN mkdir -p flask_session
|
||||
|
||||
RUN groupadd -r appuser && useradd -r -g appuser appuser \
|
||||
&& chown -R appuser:appuser /app
|
||||
USER appuser
|
||||
|
||||
EXPOSE 5000
|
||||
|
||||
HEALTHCHECK --interval=30s --timeout=10s --retries=3 \
|
||||
CMD curl -f http://localhost:5000/ || exit 1
|
||||
|
||||
CMD ["python", "app.py"]
|
||||
@@ -911,5 +911,6 @@ def server_error(error):
|
||||
return render_template('500.html'), 500
|
||||
|
||||
if __name__ == '__main__':
|
||||
debug_mode = os.getenv('FLASK_DEBUG', 'True').lower() in ('true', '1', 'yes')
|
||||
# use_reloader=False 避免 Windows 终端 QuickEdit 模式导致进程挂起
|
||||
app.run(debug=True, port=5000, use_reloader=False)
|
||||
app.run(host='0.0.0.0', debug=debug_mode, port=5000, use_reloader=False)
|
||||
|
||||
Reference in New Issue
Block a user