# Sử dụng một ảnh base Python 3.8 chính thức FROM python:3.8 # Thiết lập thư mục làm việc bên trong container WORKDIR /code RUN apt-get update && apt-get install -y libgomp1 && rm -rf /var/lib/apt/lists/* # Sao chép file requirements.txt vào trước để tận dụng cache của Docker COPY ./requirements.txt /code/requirements.txt # # === PHẦN QUAN TRỌNG NHẤT === # Cài đặt các thư viện từ requirements.txt # Cờ --no-deps nói với pip: "Cứ cài đặt mọi thứ trong file này, # đừng quan tâm đến các phụ thuộc con mà chúng yêu cầu." # Cờ --no-cache-dir để đảm bảo không dùng lại cache cũ. # RUN pip install --no-cache-dir --no-deps -r /code/requirements.txt # Sao chép toàn bộ code của ứng dụng vào container COPY . /code/ # Expose cổng mà uvicorn sẽ chạy EXPOSE 7860 # Lệnh để khởi động ứng dụng FastAPI khi container chạy CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]