TangSan003 commited on
Commit
9f54860
·
verified ·
1 Parent(s): 6d81a5e

update Dockerfile

Browse files
Files changed (1) hide show
  1. 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
- # [QUAN TRỌNG CHO LỖI PERMISSION]
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
- # (Tùy chọn nhưng tốt) Tạo thư mục cache và đảm bảo quyền ghi
16
- # Điều này ít cần thiết hơn trong Spaces /app thường đã quyền,
17
- # nhưng thêm vào để đảm bảo chắc chắn.
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 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"]