Tối ưu hóa Dockerfile: Giảm 70% build time
Trong Dockerfile Contest 2025 tổ chức bởi DevOps.vn, tôi đã đạt giải Top 2 nhờ áp dụng các chiến lược tối ưu hóa container image nâng cao [1].
Các kỹ thuật cốt lõi
1. Multi-stage Builds
Sử dụng một stage để build các dependencies (có các công cụ build nặng như build-base, cargo) và chỉ copy những file thực thi cần thiết sang stage runtime cuối cùng dựa trên Alpine Linux [1].
2. Layer Caching Strategy
Sắp xếp các lệnh COPY và RUN sao cho các phần ít thay đổi (như requirements.txt) được xử lý trước. Điều này giúp tận dụng cache của Docker, giảm thời gian build từ vài phút xuống còn vài chục giây [1].
3. Aggressive Cleanup
Sử dụng lệnh strip để xóa các ký hiệu debug trong các file .so, xóa bytecode __pycache__ và các thư viện không cần thiết trong Python stdlib để giữ image dưới 110MB [1].
Kết quả
- Build time: Giảm 70%.
- Security: 0 CVEs nhờ sử dụng image Alpine đã được patch và chạy với user non-root [1].

