Podman : रजिस्ट्री का प्रयोग करें2023/11/16 |
कंटेनर छवियों के लिए निजी रजिस्ट्री बनाने के लिए रजिस्ट्री स्थापित करें।
|
|
[1] | रजिस्ट्री स्थापित करें। |
[root@dlp ~]# dnf -y install docker-distribution
|
[2] | यदि Firewalld चल रहा है, तो रजिस्ट्री पोर्ट की अनुमति दें। |
[root@dlp ~]# firewall-cmd --add-port=5000/tcp success [root@dlp ~]# firewall-cmd --runtime-to-permanent success |
[3] | रजिस्ट्री कॉन्फ़िगर करें। यह HTTP कनेक्शन और नो-ऑथेंटिकेशन का उपयोग करने के लिए सेटिंग्स है। |
[root@dlp ~]#
vi /etc/docker-distribution/registry/config.yml # यह डिफ़ॉल्ट है # HTTP पर परिवर्तन करने की कोई आवश्यकता नहीं और कोई प्रमाणीकरण नहीं version: 0.1 log: fields: service: registry storage: cache: layerinfo: inmemory filesystem: rootdirectory: /var/lib/registry http: addr: :5000
[root@dlp ~]#
[root@dlp ~]# systemctl enable --now docker-distribution
podman images REPOSITORY TAG IMAGE ID CREATED SIZE srv.world/fedora-nginx latest 6a43f18a8fc3 27 minutes ago 447 MB srv.world/fedora-httpd latest 43a608e50bc8 33 minutes ago 459 MB registry.fedoraproject.org/fedora latest ec546109f822 8 days ago 183 MB # [push] लोकलहोस्ट से [root@dlp ~]# podman tag fedora dlp.srv.world:5000/fedora:my-registry [root@dlp ~]# podman push dlp.srv.world:5000/fedora:my-registry --tls-verify=false [root@dlp ~]# podman images REPOSITORY TAG IMAGE ID CREATED SIZE srv.world/fedora-nginx latest 6a43f18a8fc3 28 minutes ago 447 MB srv.world/fedora-httpd latest 43a608e50bc8 34 minutes ago 459 MB registry.fedoraproject.org/fedora latest ec546109f822 8 days ago 183 MB dlp.srv.world:5000/fedora my-registry ec546109f822 8 days ago 183 MB # [pull] दूसरे नोड से [root@node01 ~]# podman pull dlp.srv.world:5000/fedora:my-registry --tls-verify=false [root@node01 ~]# podman images REPOSITORY TAG IMAGE ID CREATED SIZE dlp.srv.world:5000/fedora my-registry ec546109f822 6 days ago 196 MB |
[4] | मूल प्रमाणीकरण सक्षम करने के लिए, निम्नानुसार कॉन्फ़िगर करें। |
[root@dlp ~]#
dnf -y install httpd-tools
[root@dlp ~]#
vi /etc/docker-distribution/registry/config.yml # अंत में जोड़ें auth: htpasswd: realm: basic-realm path: /etc/containers/registries.d/.htpasswd
[root@dlp ~]#
systemctl restart docker-distribution
# उपयोगकर्ता जोड़ें # आरंभिक फ़ाइल निर्माण में [-c] जोड़ें [root@dlp ~]# htpasswd -Bc /etc/containers/registries.d/.htpasswd fedora New password: Re-type new password: Adding password for user fedora # पहुंच संभव सत्यापित करें # an error is shown if access with no-authentication [root@node01 ~]# podman pull dlp.srv.world:5000/fedora:my-registry --tls-verify=false Trying to pull dlp.srv.world:5000/fedora:my-registry... Error: initializing source docker://dlp.srv.world:5000/fedora:my-registry: reading manifest my-registry in dlp.srv.world:5000/fedora: unauthorized: authentication required # [htpasswd] के साथ जोड़े गए उपयोगकर्ता द्वारा प्रमाणित करें [root@node01 ~]# podman login dlp.srv.world:5000 --tls-verify=false
Username: fedora
Password:
Login Succeeded!
[root@node01 ~]# podman pull dlp.srv.world:5000/fedora:my-registry --tls-verify=false [root@node01 ~]# podman images REPOSITORY TAG IMAGE ID CREATED SIZE dlp.srv.world:5000/fedora my-registry ec546109f822 6 days ago 196 MB |
[5] | HTTPS के माध्यम से एक्सेस करने और Let's Encrypt इत्यादि जैसे वैध प्रमाणपत्रों का उपयोग करने के लिए, निम्नानुसार कॉन्फ़िगर करें। यह उदाहरण उस परिवेश पर आधारित है जिसे [/etc/letsencrypt/live/dlp.srv.world] के अंतर्गत प्रमाणपत्र प्राप्त हुए हैं। |
[root@dlp ~]# cp -p /etc/letsencrypt/live/dlp.srv.world/{fullchain,privkey}.pem /etc/containers/certs.d/
[root@dlp ~]#
vi /etc/docker-distribution/registry/config.yml # [http] अनुभाग के अंतर्गत [tls] अनुभाग इस प्रकार जोड़ें
.....
.....
http:
addr: :5000
tls:
certificate: /etc/containers/certs.d/fullchain.pem
key: /etc/containers/certs.d/privkey.pem
.....
.....
[root@dlp ~]#
systemctl restart docker-distribution
# पहुंच संभव सत्यापित करें [root@node01 ~]# podman pull dlp.srv.world:5000/fedora:my-registry [root@node01 ~]# podman images REPOSITORY TAG IMAGE ID CREATED SIZE dlp.srv.world:5000/fedora my-registry ec546109f822 6 days ago 196 MB |
Sponsored Link |