Spaces:
Sleeping
Sleeping
update Dockerfile
Browse files- Dockerfile +5 -31
Dockerfile
CHANGED
@@ -1,45 +1,19 @@
|
|
1 |
-
# Sử dụng một base image Python cụ thể.
|
2 |
-
# python:3.9-slim-buster là tốt, nhưng nếu bạn muốn phiên bản mới hơn:
|
3 |
-
# FROM python:3.10-slim-buster
|
4 |
FROM python:3.9-slim-buster
|
5 |
|
6 |
-
# Đặt thư mục làm việc bên trong container.
|
7 |
-
# Tất cả các lệnh tiếp theo (COPY, RUN, CMD) sẽ thực thi từ đây.
|
8 |
WORKDIR /app
|
9 |
|
10 |
-
#
|
11 |
-
# Đặt biến môi trường HF_HOME để chỉ định thư mục cache cho Hugging Face models.
|
12 |
-
# /app/hf_cache là một nơi an toàn để ghi dữ liệu trong môi trường Hugging Face Spaces.
|
13 |
ENV HF_HOME="/app/hf_cache"
|
14 |
|
15 |
-
#
|
16 |
-
#
|
17 |
-
|
18 |
-
RUN mkdir -p /app/hf_cache
|
19 |
|
20 |
-
# Copy file requirements.txt trước để tận dụng Docker cache.
|
21 |
-
# Nếu requirements.txt không thay đổi, bước pip install sẽ được cache.
|
22 |
COPY requirements.txt .
|
23 |
-
|
24 |
-
# Cài đặt các thư viện Python.
|
25 |
-
# --no-cache-dir giúp giảm kích thước image, --upgrade pip để đảm bảo pip mới nhất.
|
26 |
RUN pip install --no-cache-dir --upgrade pip && \
|
27 |
pip install --no-cache-dir -r requirements.txt
|
28 |
|
29 |
-
# [QUAN TRỌNG CHO LỖI LSTAT /.../#]
|
30 |
-
# Dòng này copy tất cả các file còn lại từ thư mục context build
|
31 |
-
# (thư mục gốc của repo của bạn) vào thư mục làm việc /app trong container.
|
32 |
-
# Lỗi 'lstat /.../#' hầu như chắc chắn là do có một file hoặc thư mục tên '#'
|
33 |
-
# trong thư mục gốc của repo của bạn. Đảm bảo bạn đã XÓA hoặc ĐỔI TÊN nó TRƯỚC KHI build lại.
|
34 |
COPY . .
|
35 |
|
36 |
-
# Mở port mà ứng dụng của bạn sẽ lắng nghe.
|
37 |
-
# Theo log của bạn, ứng dụng lắng nghe trên 7860.
|
38 |
EXPOSE 7860
|
39 |
-
|
40 |
-
# Lệnh để chạy ứng dụng của bạn khi container khởi động.
|
41 |
-
# Sử dụng gunicorn như trong log của bạn là một lựa chọn tốt cho các ứng dụng web.
|
42 |
-
# Dòng này giả định app.py của bạn có một đối tượng 'app' (ví dụ: FastAPI, Flask).
|
43 |
-
# Nếu bạn chạy trực tiếp app.py như bạn đã làm, hãy dùng: CMD ["python", "app.py"]
|
44 |
-
# CMD ["gunicorn", "app:app", "--bind", "0.0.0.0:7860"] # Ví dụ nếu ứng dụng của bạn là app:app
|
45 |
-
CMD python app.py # Dựa trên lỗi trước đó, bạn chạy trực tiếp app.py
|
|
|
|
|
|
|
|
|
1 |
FROM python:3.9-slim-buster
|
2 |
|
|
|
|
|
3 |
WORKDIR /app
|
4 |
|
5 |
+
# Đặt biến môi trường HF_HOME
|
|
|
|
|
6 |
ENV HF_HOME="/app/hf_cache"
|
7 |
|
8 |
+
# Tạo thư mục cache và đảm bảo quyền ghi cho nó và tất cả các thư mục con.
|
9 |
+
# -R là quan trọng để áp dụng quyền đệ quy (cho tất cả các thư mục con).
|
10 |
+
RUN mkdir -p /app/hf_cache && chmod -R 777 /app/hf_cache
|
|
|
11 |
|
|
|
|
|
12 |
COPY requirements.txt .
|
|
|
|
|
|
|
13 |
RUN pip install --no-cache-dir --upgrade pip && \
|
14 |
pip install --no-cache-dir -r requirements.txt
|
15 |
|
|
|
|
|
|
|
|
|
|
|
16 |
COPY . .
|
17 |
|
|
|
|
|
18 |
EXPOSE 7860
|
19 |
+
CMD ["python", "app.py"]
|
|
|
|
|
|
|
|
|
|
|
|