Fedora 40
Sponsored Link

Podman : रजिस्ट्री का प्रयोग करें2024/05/03

 
कंटेनर छवियों के लिए निजी रजिस्ट्री बनाने के लिए रजिस्ट्री स्थापित करें।
[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 ~]#
systemctl enable --now docker-distribution
[root@dlp ~]#
podman images

REPOSITORY                         TAG         IMAGE ID      CREATED            SIZE
srv.world/fedora-nginx             latest      cf5af4219b13  23 minutes ago     340 MB
srv.world/fedora-httpd             latest      9d6d273370e2  34 minutes ago     343 MB
registry.fedoraproject.org/fedora  latest      19f52f582331  About an hour ago  229 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       cf5af4219b13  23 minutes ago     340 MB
srv.world/fedora-httpd             latest       9d6d273370e2  35 minutes ago     343 MB
dlp.srv.world:5000/fedora          my-registry  19f52f582331  About an hour ago  229 MB
registry.fedoraproject.org/fedora  latest       19f52f582331  About an hour ago  229 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  19f52f582331  About an hour ago  229 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  19f52f582331  About an hour ago  229 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  19f52f582331  About an hour ago  229 MB
मिलान सामग्री