Container Registry là gì
Lưu trữ Docker image
Container Registry
Container Registry là kho lưu trữ tập trung cho Docker images và các artifacts tương thích OCI khác, cung cấp quản lý phiên bản, kiểm soát truy cập và phân phối container.
Các loại Registry
| Loại | Ví dụ | |------|-------| | Công cộng | Docker Hub, GitHub Container Registry | | Đám mây | AWS ECR, Google GCR, Azure ACR | | Tự lưu trữ | Harbor, Nexus, JFrog Artifactory | | GitLab | GitLab Container Registry |
Tính năng chính
- Lưu trữ Image — Repository tập trung
- Quản lý phiên bản — Tags và digest để nhận dạng
- Kiểm soát truy cập — RBAC và chính sách bảo mật
- Quét lỗ hổng — Tích hợp với Trivy, Clair
- Sao chép — Mirror qua các vùng
Làm việc với Registry
| Lệnh | Mô tả | |------|-------| | docker login | Xác thực với registry | | docker push | Tải lên image | | docker pull | Tải xuống image | | docker tag | Tạo tag |
Thực hành tốt nhất
- Sử dụng tags bất biến (không dùng latest)
- Quét image để tìm lỗ hổng
- Ký image (Cosign, Notary)
- Thiết lập chính sách dọn dẹp image cũ
- Bật garbage collection
Tích hợp CI/CD
# Ví dụ GitLab CI
build:
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA