- Khi tạo và triển khai ứng dụng dưới dạng image Docker, việc dùng image nền nặng có thể khiến thời gian tải xuống lâu, hoặc nếu chứa dữ liệu nhạy cảm thì có thể gây ra vấn đề bảo mật
- Cách làm cho image Docker nhẹ hơn và an toàn hơn
- Giảm kích thước image
- Image Docker càng nhẹ thì tốc độ build và triển khai ứng dụng càng nhanh
- Nhờ vậy có thể triển khai thường xuyên hơn, nhiều hơn và nâng cao năng suất của lập trình viên
- Cách làm
- Kỹ thuật multi-stage: tạo nhiều stage, build riêng từng stage rồi hợp nhất kết quả vào image nhẹ nhất
- Cách dùng ít lệnh
RUN nhất có thể: lệnh RUN tạo ra các image riêng lẻ. Để giảm số lượng này, hãy chạy càng nhiều script càng tốt trong một lần dùng lệnh RUN
- Loại bỏ mã nguồn không cần thiết bằng
.dockerignore
README.md hay mã kiểm thử là không cần thiết khi build ứng dụng thực tế
- Các tệp
.env chứa thông tin nhạy cảm như token xác thực API, tệp khóa riêng tư .pem, và thư mục .git chứa lịch sử commit Git không nên được đưa vào image Docker
- Tạo tệp
.dockerignore để tránh đưa các tệp như vậy vào image Docker
- Tạo image an toàn
- Nếu image Docker có quyền root thì khi bị tấn công, mức độ rủi ro có thể rất lớn
- Cách làm
- Dùng đúng phiên bản image: nếu không chỉ định phiên bản thì
latest sẽ được tự động lấy về, khiến hành vi chạy có thể thay đổi tùy tình huống
- Loại bỏ quyền ghi vào
/etc: /etc là thư mục chứa tệp cấu hình hệ thống và script. Ứng dụng thường không cần sửa nên tốt nhất là bỏ quyền ghi
- Xóa mọi tệp thực thi: với Go, chỉ cần một tệp thực thi là có thể chạy, nên hãy xóa toàn bộ các tệp thực thi khác có thể mang rủi ro tiềm ẩn
- Chuyển sang người dùng thông thường: tài khoản root có thể sửa đổi và kiểm soát mọi thứ trong hệ thống. Hãy tạo một người dùng chỉ có quyền tối thiểu và để ứng dụng chỉ chạy bằng người dùng đó
- Image Docker nhẹ phát huy sức mạnh cộng hưởng khi kết hợp với pipeline CI/CD và phương pháp Agile
- Với image Docker an toàn, có thể bảo vệ hoạt động kinh doanh và phòng ngừa rủi ro từ sớm
Chưa có bình luận nào.