- Yêu cầu: đã cài đặt Visual Studio code, Docker Desktop, cài đặt thư viện.
- Ảnh kết quả ở bên dưới
Chú thích:
- Container là một chuẩn đóng gói code + các thư viện liên quan của một app giúp cho việc cài đặt nhanh trên các hệ điều hành khác nhau
- Container là ảo hóa các tầng ứng dụng cho phép đóng gói code + thư viện. Nhiều container có thể chạy trên cùng một máy và cùng chia sẻ tài nguyên của hệ điều hành, mỗi container chạy trên một process riêng, vì thế container nhẹ hơn máy ảo rất nhiều.
- Docker image có thể coi là bản vẽ kiến trúc, --> docker run --> tạo ra các docker container
--> Trình tự:
Trong ví dụ này sẽ bao gồm các file sau:
- data: final_data.csv (data đã được làm sạch)
- streamlit file: Income_pre.py (Chương trình chạy AI trên streamlit)
- file model: cách tạo file này ở đây
- file thư viện yêu cầu: requirement.txt (file cài đặt thư viện cần thiết)
Nội dung file như sau:
#khởi tạo môi trường có sẵn
FROM python:3.9
# tạo thư mục app để chứa app
RUN mkdir /app
# di chuyển đến thư mục app
WORKDIR /app
# copy toàn bộ file hiện tại vào thư mục app
COPY ./ /app
# cài đặt thư viện
RUN pip install -r requirement.txt
#run:
# lệnh để chạy app
CMD ["streamlit", "run", "Income_pre.py"]docker build ./ -f .Dockerfile -t income_pre:income_pre-v1.0
#Chú thích:
# .Dockerfile : Ngouồn
# income_pre: đường dẫn
# income_pre-v1.0: tagdocker run -d -p 5004:8501 income_pre:income_pre-v1.0
# Chú thích:
# Docker container chạy ở server cổng 8501: khi app chạy phải trỏ tới cổng này.
# Docker container của client chạy ở cổng 5004
# Nghĩa là khi client truy cập vào 5004 thì sẽ mapping tới cổng 8501 của server để chạy app.
# Chú thích 2:
# Đối với ứng dụng streamlit: app sẽ mặc định chạy cổng 8501 ở server,
# app sẽ không ở container nếu định nghĩa sai cổng này.| Trên web | Trên mobie |
|---|---|
![]() |
![]() |
Hi vọng giúp ích được cho bạn: Thanks!



