Đào tạo doanh nghiệpDocker & Docker Compose trên Cloud VPS: Đóng gói & Vận hành Hệ thống AI Toàn diện
2/8

Giáo trình tự học miễn phí · Dịch vụ hỗ trợ theo nhu cầu.

Bài 0235phút ước tínhCơ bản đến Chuyên sâu

2. Viết Dockerfile Chuẩn Production & Tối Ưu Dung Lượng Bằng Multi-Stage Build

Nghệ thuật đóng gói ứng dụng: Tận dụng Layer Caching, chọn Base Image siêu nhẹ (Alpine / Slim) và giảm kích thước Image từ 1.5GB xuống 80MB.

🎯 4 Nguyên Tắc Vàng Khi Viết Dockerfile

  1. Dùng Image tối giản: Ưu tiên python:3.11-slim hoặc node:20-alpine.
  2. Tận dụng Layer Cache: Copy file phụ thuộc (package.json hoặc requirements.txt) và cài đặt dependencies TRƯỚC KHI copy toàn bộ mã nguồn.
  3. Không chạy dưới quyền Root: Luôn tạo User không đặc quyền (USER appuser) để bảo vệ máy chủ.
  4. Tạo file .dockerignore: Loại bỏ thư mục .git, node_modules, __pycache__, .env khỏi image.
example.py
# MULTI-STAGE DOCKERFILE CHO ỨNG DỤNG PYTHON FASTAPI / AI
# STAGE 1: Môi trường build dependencies
FROM python:3.11-slim as builder
WORKDIR /app
RUN apt-get update && apt-get install -y --no-install-recommends gcc build-essential
COPY requirements.txt .
RUN pip install --no-cache-dir --user -r requirements.txt

# STAGE 2: Image chạy Production siêu nhẹ
FROM python:3.11-slim
WORKDIR /app
# Tạo user bảo mật không phải root
RUN useradd -m -u 1000 appuser && chown -R appuser:appuser /app
# Copy thư viện từ Stage 1
COPY --from=builder /root/.local /home/appuser/.local
COPY . .
USER appuser
ENV PATH=/home/appuser/.local/bin:$PATH
EXPOSE 8000
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]
Thực hành

Thực hành và tự đánh giá

Đóng gói một ứng dụng Python hoặc Node.js bằng Multi-stage build và so sánh dung lượng Image tạo ra.

🏢 BẠN MUỐN TRIỂN KHAI CHO CẢ PHÒNG BAN / DOANH NGHIỆP?
Đề Xuất Công Ty Tài Trợ & Đào Tạo In-House Trọn Gói

AI Tinh Gọn hỗ trợ khảo sát hiện trạng, kèm 1-1 on-premise bảo mật dữ liệu, setup hạ tầng riêng và xuất hóa đơn VAT hợp pháp cho doanh nghiệp.

⚖️ Bản quyền sở hữu trí tuệ: © 2026 AI Tinh Gọn (aitinhgon.vn) · Giấy phép Creative Commons CC BY-NC-ND 4.0. Cho phép tự học cá nhân, nghiêm cấm thương mại hóa hoặc bán lại. Giáo trình mở →

Tiến độ tự học lưu trên trình duyệt này. Chỉ đánh dấu khi đã kiểm tra sản phẩm thực hành.