क्या है कंटेनर रजिस्ट्री
Docker इमेज स्टोरेज
कंटेनर रजिस्ट्री
कंटेनर रजिस्ट्री Docker इमेज और अन्य OCI-संगत आर्टिफैक्ट्स के लिए केंद्रीकृत स्टोरेज है, जो वर्जनिंग, एक्सेस कंट्रोल और कंटेनर वितरण प्रदान करता है।
रजिस्ट्री प्रकार
| प्रकार | उदाहरण | |--------|--------| | पब्लिक | Docker Hub, GitHub Container Registry | | क्लाउड | AWS ECR, Google GCR, Azure ACR | | सेल्फ-होस्टेड | Harbor, Nexus, JFrog Artifactory | | GitLab | GitLab Container Registry |
मुख्य विशेषताएं
- इमेज स्टोरेज — केंद्रीकृत रिपॉजिटरी
- वर्जनिंग — पहचान के लिए टैग और डाइजेस्ट
- एक्सेस कंट्रोल — RBAC और सुरक्षा नीतियां
- भेद्यता स्कैनिंग — Trivy, Clair के साथ एकीकरण
- प्रतिकृति — क्षेत्रों में मिररिंग
रजिस्ट्री के साथ काम करना
| कमांड | विवरण | |--------|--------| | docker login | रजिस्ट्री में प्रमाणीकरण | | docker push | इमेज अपलोड | | docker pull | इमेज डाउनलोड | | docker tag | टैग बनाना |
सर्वोत्तम प्रथाएं
- अपरिवर्तनीय टैग का उपयोग करें (latest नहीं)
- भेद्यताओं के लिए इमेज स्कैन करें
- इमेज पर हस्ताक्षर करें (Cosign, Notary)
- पुरानी इमेज के लिए क्लीनअप नीति सेट करें
- गार्बेज कलेक्शन सक्षम करें
CI/CD एकीकरण
# GitLab CI उदाहरण
build:
script:
- docker build -t $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA .
- docker push $CI_REGISTRY_IMAGE:$CI_COMMIT_SHA