Dockerfile nâng cao: Multi-stage Build và tối ưu

Bạn có biết? Khi bạn build một ứng dụng Node.js, image hoàn chỉnh có thể nặng tới 1GB vì chứa cả source code, node_modules, dev dependencies và build tools. Nhưng thực tế, khi chạy production, bạn chỉ cần file đã build — vài MB mà thôi! Multi-stage build giải quyết vấn đề này: tách quá … Đọc tiếp

Docker Volume: Lưu trữ dữ liệu bền vững

Bạn có biết? Bạn chạy một ứng dụng database trong Docker container, lưu dữ liệu vài tuần. Một ngày đẹp trời, bạn restart container — toàn bộ dữ liệu biến mất! Tại sao? Vì mặc định, dữ liệu trong container chỉ tồn tại khi container sống. Container dừng = dữ liệu mất. Đây chính là … Đọc tiếp

Cài đặt Docker: Linux, macOS và Windows

Bạn có biết? Một team phát triển gồm 5 người, mỗi người dùng hệ điều hành khác nhau — Ubuntu, macOS, Windows. Họ mất nguyên một tuần chỉ để “cài đặt môi trường cho giống nhau”. Người thiếu thư viện, người xung đột phiên bản, người thì Docker chạy không nổi vì cấu hình sai. … Đọc tiếp