khaterekhan2 / Dockerfile
Jahadona's picture
Create Dockerfile
5e8ee39 verified
# استفاده از یک ایمیج پایه پایتون 3.9
FROM python:3.9
# تنظیم دایرکتوری کاری در داخل کانتینر
WORKDIR /app
# کپی کردن فایل requirements.txt به دایرکتوری کاری
COPY requirements.txt .
# نصب وابستگی ها از requirements.txt
# --no-cache-dir برای جلوگیری از ذخیره سازی کش pip که حجم ایمیج را کم می کند.
RUN pip install --no-cache-dir -r requirements.txt
# ****** اضافه کردن دستورات برای تنظیم مسیر کش Sentence-Transformers ******
# تنظیم متغیر محیطی برای تغییر مسیر کش به یک مسیر قابل نوشتن در داخل کانتینر (در دایرکتوری app)
ENV SENTENCE_TRANSFORMERS_HOME=/app/.cache/sentence_transformers
# ایجاد دایرکتوری کش با مجوزهای مناسب برای اطمینان از قابلیت نوشتن
RUN mkdir -p /app/.cache/sentence_transformers && chmod -R 777 /app/.cache
# **********************************************************************
# کپی کردن تمام فایل های پروژه از دایرکتوری فعلی (Space شما) به دایرکتوری کاری در کانتینر
# این شامل app.py, index.html, style.css, script.js و فایل های JSON شما می شود.
COPY . /app
# تعیین پورتی که برنامه در داخل کانتینر به آن گوش می دهد.
EXPOSE 7860
# تعیین دستور اجرای برنامه هنگام راه اندازی کانتینر
# اجرای اپلیکیشن Flask با نام 'app' در فایل 'app.py' با استفاده از Gunicorn.
CMD ["gunicorn", "--bind", "0.0.0.0:7860", "app:app"]