CHƯƠNG 05 · Dockerfile & BuildKit•BÀI 20 / 80

Build secrets, provenance và image tagging

Giữ thông tin phát hành có thể xác minh.

Nền tảng◷ 4 phút đọc4/4 trong chương

Nắm bản chất

Một image tag giúp con người dễ đọc, còn OCI digest xác định nội dung. CI có thể tạo SBOM/provenance attestations và ký digest bằng Cosign. BuildKit secrets mounts chuyển secrets vào đúng lệnh build mà không cố ý lưu chúng trong final layer.

Với production, cần phân biệt source SHA, image manifest digest và runtime image ID. Build once / promote by digest tránh xây lại artifacts khác nhau ở Dev, Staging và Production.

Luồng hoạt động

Git commit→Buildx→digest→registry

Hãy tự giải thích mỗi mũi tên: dữ liệu, quyền hoặc tín hiệu nào được truyền qua bước này?

Lệnh & cấu hình mẫu

docker buildx build --platform linux/amd64   --tag ghcr.io/ORG/APP:sha-COMMIT   --sbom=true --provenance=mode=max --push .
docker buildx imagetools inspect ghcr.io/ORG/APP:sha-COMMIT

Lệnh có placeholder hoặc phụ thuộc môi trường thì cần thay thông tin thực tế, kiểm tra quyền và chỉ thực hiện trên tài nguyên được phép.

Bài tập 10–20 phút

✳

Thực hành trên registry thuộc quyền quản lý của bạn. Trước khi push, kiểm tra login và không đưa tokens vào terminal history. Ghi lại digest sau build.

Lỗi dễ mắc

!

SBOM và provenance không thay thế việc xác minh chữ ký, code review hay vulnerability scanning; không tự tuyên bố đạt SLSA cấp cao khi chưa kiểm tra requirements.

Tự kiểm tra

Vì sao deploy theo digest tốt hơn chỉ deploy `:latest`?Xem đáp án ↗

Vì digest gắn với nội dung cụ thể, giúp truy vết và rollback có thể tái lập hơn.

TÀI NGUYÊN ĐI KÈM

Học thêm qua lab

Bài học nền tảng có thể thực hiện trực tiếp bằng các lệnh trên; bảng tra cứu nhanh giúp ôn tập.

→ Mở bảng lệnh tra cứu nhanh
NGUỒN CHÍNH THỨC

Đối chiếu tài liệu gốc

Cú pháp và khả năng hỗ trợ có thể thay đổi theo phiên bản. Trước khi dùng Production, hãy kiểm tra tài liệu tương ứng.

Mở tài liệu chính thức ↗