hoangchihien3011 commited on
Commit
d2c5331
·
verified ·
1 Parent(s): c494e68

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +17 -18
Dockerfile CHANGED
@@ -1,26 +1,25 @@
1
- # Step 1: Chọn base image dựa trên Debian (slim) để cài đặt nhanh hơn
2
  FROM python:3.12-slim-bookworm
3
 
4
- # Step 2: Đặt thư mục làm việc
 
 
5
  WORKDIR /app
6
 
7
- # Step 3: Cập nhật cài đặt các gói hệ thống cần thiết (nếu có)
8
- # Thường thì với image 'slim' bạn không cần build-essential cho torch
9
- # RUN apt-get update && apt-get install -y --no-install-recommends \
10
- # build-essential \
11
- # && rm -rf /var/lib/apt/lists/*
12
 
13
- # Step 4: Copy cài đặt các thư viện Python
14
- # Điều này tận dụng Docker layer caching
15
- COPY requirements.txt ./
16
- RUN pip3 install --no-cache-dir -r requirements.txt
17
 
18
- # Step 5: Copy toàn bộ nguồn của ứng dụng vào
19
- COPY ./src ./src
 
20
 
21
- # Step 6: Khai báo port mà Streamlit sẽ chạy trên đó
22
- EXPOSE 8501
23
 
24
- # Step 7: Lệnh để khởi động ứng dụng khi container chạy
25
- # Thay "app.py" bằng tên file streamlit chính của bạn
26
- CMD ["streamlit", "run", "src/streamlit_app.py", "--server.port=8501", "--server.address=0.0.0.0"]
 
 
1
  FROM python:3.12-slim-bookworm
2
 
3
+ RUN apt-get update && apt-get upgrade -y && \
4
+ rm -rf /var/lib/apt/lists/*
5
+
6
  WORKDIR /app
7
 
8
+ # Tạo một user không phải root
9
+ RUN useradd --create-home appuser
10
+ # Chuyển sang user đó
11
+ USER appuser
 
12
 
13
+ # ⭐️ DÒNG MỚI: Chỉ định thư mục cache của Hugging Face
14
+ ENV HF_HOME=/home/appuser/.cache
 
 
15
 
16
+ # Copy cài đặt các thư viện
17
+ COPY --chown=appuser:appuser requirements.txt ./
18
+ RUN pip3 install --no-cache-dir --user -r requirements.txt
19
 
20
+ # Copy nguồn
21
+ COPY --chown=appuser:appuser ./src ./src
22
 
23
+ ENV PATH="/home/appuser/.local/bin:${PATH}"
24
+ EXPOSE 8501
25
+ CMD ["streamlit", "run", "src/app.py", "--server.port=8501", "--server.address=0.0.0.0"]