RHEL 8 -ב ואפוקסו ןמדופ תועצמאב תולוכמ להנל דציכ


.תולוכמה גשומ דלונ ןאכו .ןיטולחל ולשכנו תואיגשב ולקתנ וא יופצכ ולעפ אל םימושיי ,תובורק םיתעל .תובורמ בושחמ תוביבס יבחרב הנימא הרוצב לועפל םימושייל םורגל אוה רבעב םיחתפמ ינפב םידמועש םירגתא

?לכימ תונומת ןהמ

.תונווגמ תוביבסב הלעפהל היצקילפאל תושורדה תורחא המרופטלפ תורדגהו תולת ,תכרעמ תוירפס תללוכ לכימ תנומת .תדדובמ הביבסב לעופה הלעפה דוק םע םיחלשנה םייטטס םיצבק ןה לכימ תונומת

Red Hat Linux םיללוכ ולא .תושרדנה הניגעה תודוקפ תועצמאב סקוניל ילכמ םע הרישי הדובעל ףנמל ולכותש תולוכמל םיישומיש םילכ לש הצובק קפסמ:

    .Skopeo -ו podman תועצמאב תולוכמ לוהינב דקמתנ הז רמאמב

    קחורמ םשרמ לכימ תונומתב שופיח

    ./ etc/containers/היירפסב אצמנש registries.conf ץבוקב תרדגומ םימושיר לש לדחמה תרירב תמישר .לכימ תונומת רחא םירחבנ םיקחורמ םימושירב שפחל ךל תרשפאמ podman שופיח תדוקפ

    .םיפיעס 3 ידי לע םירדגומ םימושירה

          .תכרעמה לכב תורדגהה תא ףוקעל ידכ (HOME/.config/containers/registries.conf $) ךלש תיבה תיירפסב ךלשמ registries.conf ץבוק תא רידגהל לוכי התא ,podman הדוקפה תא ליעפמה (שרוש וניאש) ליגר

          :םיאבה םירבדה תא רוכז ,םימושירה תא ןייצמ התא רשאכ

            :ריבחתה תועצמאב לכימ תנומת רחא םושירב שופיחל

            # podman search registry/container_image
            

            :הדוקפה תא לעפה ,registry.redhat.io םושירב Redis לש הנומת שפחל ידכ ,המגודל

            # podman search registry.redhat.io/redis
            

            .MariaDB לש לכימ תנומת תלעפה שופיחל

            # podman search registry.redhat.io/mariadb
            

            :גצומכ MariaDB הלוכמה תנומת לש טרופמ רואית גישהל הסננ ,המגודל .לבקתש תואצותהמ לכימה תנומת לש םשה ינפל --no-trunc תורשפאב שמתשה ,לכימ תנומת לש ללכושמ רואית לבקל ידכ

            # podman search --no-trunc registry.redhat.io/rhel8/mariadb-103
            

            לכימ תונומת תכישמ

            :Redhat םושירל הליחת רבחתה ,MariaDB לש לכימה תנומת תא רזחאל ידכ ,המגודל .רחא רבד לכ ינפל הליחת תמאל םיבייחמ קחורמה םושירהמ הלוכמ תונומת לש רוזחא וא הכישמ

            # podman login
            

            .החילצה םושירל הסינכה יכ רושיא תעדוה לבקל ךילע ,הרושכ רדתסמ לכה םא .תדלקמב 'ENTER' לע ץחלו ךלש המסיסהו שמתשמה םש תא קפס

            Login Succeeded!
            

            :גצומה ריבחתה תועצמאב הנומתה תא ךושמל לכות תעכ

            # podman pull <registry>[:<port>]/[<namespace>/]<name>:<tag>
            

            <registry> ב לכימ תונומת לש רגאמ קפסמה קחורמה םושירל וא חראמל סחייתמ- TCP <port>. <namespace> ו- <name> לע ססבתהב לכימ תנומת דחי םינ

            .םייארקא תומש םע תונובשח דילוהל םיימינונא םישמתשמל םירשפאמ אלו הנפצה םיקפסמה הלא רמולכ ,םינמיהמ םימושיר ףיסוהל דימת ץלמומ

            :הדוקפה תא לעפה ,MariaDB תנומת תא ךושמל ידכ

            # podman pull registry.redhat.io/rhel8/mariadb-103
            

              :לעפה טושפ ,Redis לש לכימ תנומת ךושמל ידכ .תמואמ רבכ התאש ןוויכמ תפסונ תורבחתהב ךרוצ ןיא ,תובקוע הלוכמ תונומת תוכישמ רובע

              # podman pull registry.redhat.io/rhscl/redis-5-rhel7
              

              לכימ תונומת םושיר

              .podman תונומת הדוקפה תלעפה ידי לע ךלש חראמב תעכ תומייקה תונומתה תא גיצהל לכות ,תונומתה תא ךושמל םייסתש רחאל

              # podman images
              

              לכימ תונומת תקידב

              .הרוטקטיכראהו הלעפהה תכרעמ ומכ הלוכמה לע םינותנ-אטמ לש םי הסיפדמ Podman inspect הדוקפה .השוע איה המ ןיבהלו הנומתה תא קודבל בוט ןויער דימת הז ,לכימ םיליעפמש ינפל

              .רגאמה וא הנומתה ההזמ הירחאו podman inspect הדוקפה תא לעפה ,הנומת קודבל ידכ

              # podman inspect IMAGE ID
              OR
              # podman inspect REPOSITORY
              

              .MariaDB לכימ תא םיקדוב ונא ,ןלהלש המגודב

              # podman inspect registry.redhat.io/rhel8/mariadb-103
              

              .(םש וא הנומת ההזמ) לכימה תוהזו םינותנ אטמה םהירחאו טמרופ - תורשפאה תא וריבעה ,לכימ רובע םייפיצפס םינותנ אטמ ךושמל ידכ

              .'תויוות' קלחה תחת לפונ רשא RHEL 8 סיסבה לכימ לש רואיתהו הרוטקטיכראה לע עדימ םירזחאמ ונא ,ןלהלש המגודב

              # podman inspect --format=’{{.Labels.architecture}}’ image ID
              # podman inspect --format=’{{.Labels.description}}’ image ID
              

              .Docker -ב תחראתמה RHEL 8 init תנומת םיקדוב ונא ,ןלהלש המגודב .skopeo inspect הדוקפב שמתשה ,רחא םושיר ךותמ תקחורמ הנומת קודבל ידכ

              # skopeo inspect docker://registry.redhat.io/rhel8-beta/rhel-init
              

              לכימ תונומת גוית

              :תגיותמ redis -ה תנומת ,המגודל .םיירנג ללכ ךרדב םה תונומת תומש ,ןייצל רשפאש יפכ

              registry.redhat.io/rhscl/redis-5-rhel7
              

              .םינוש םיקלחמ בכרומש הנומת םשל יוניכ םצעב אוהש הנומת גת רוציל לוכי התא ,podman גת הדוקפה תועצמאב .םיליכמ םה המ רתוי בוט ןיבהל ידכ רתוי יביטיאוטניא םש םהל ןתונ תונומת גוית

              :םה ולא

              registry/username/NAME:tag
              

              :הדוקפה תא עצבנ ,646f2730318c ההזמ הל שיש Redis תנומת לש ירנגה םשה תא תונשל ידכ ,המגודל

              # podman tag 646f2730318c myredis
              

              :גתה רפסמ וירחאו האלמ םייתדוקנ ףסוה ףוסב תיגת ףיסוהל ידכ

              # podman tag 646f2730318c myredis:5.0
              

              .ןורחאה ןייפאמה תא הצקי אוה ,גתה רפסמ תא ףיסוהל ילבמ

              לכימ תונומת תלעפה

              :המגודל .podman run הדוקפב שמתשה ,הלוכמ תלעפהל

              # podman run image_id
              

              .גצומש יפכ -d תורשפאב שמתשה ןומד תורישכ עקרב טקשב לכימ ליעפהל ידכ

              # podman run -d image_id
              

              :הדוקפה תא ליעפנ ,646f2730318c ההזמ םע redis -ה תנומת תא ליעפהל ידכ ,המגודל

              # podman run -d 646f2730318c
              

              .סיסבה תנומת לש ecbc6f53bba0 הנומתה ההזמ הז וליאו mybash -ל לכימה םש תא הרידגמ - name תורשפאה .ףוסמ תלעפה הכילומ -t וליאו תיביטקארטניא הלעפה תרצוי -i <

              # podman run -it --name=mybash ecbc6f53bba0
              

              .לכימה תנומת לש הלעפהה תכרעמ תסרג תא םיתמאמ ונא ןלהלש המגודב .תפטעמ תודוקפ לכ ליעפהל לכות ,ןכמ רחאל

              # cat /etc/os-release
              

              .האיציה תדוקפ תא לעפה טושפ ,לכימהמ תאצל ידכ

              # exit
              

              .גצומש יפכ -ai לגדה םע start podman הדוקפב שמתשה ,בוש הלוכמה תא ליעפהל ידכ .יטמוטוא ןפואב תרצענ איה ,הלוכמה תאיצי רחאל

              # podman start -ai mybash
              

              .תפטעמל השיג ךל ןתונ הז בוש

              לעופ לכימ תונומת םושיר

              .גצומכ podman ps הדוקפב שמתשה ,תעכ תולעופש תולוכמ םושרל ידכ

              # podman ps
              

              :הדוקפב שמתשה ,הצירה רחאל ואציש הלא ללוכ תולוכמה לכ תא גיצהל ידכ

              # podman ps -a
              

              Systemd תוריש תחת תיטמוטוא הלעפהל לכימ תונומת לש הרוצת רדגה

              .תכרעמ תורישכ RHEL תכרעמב תורישי הלעפהל לכימ רידגהל ןתינ דציכ םידקמתמ ונא הז קלחב

              :הניגעה זכרממ Redis תנומת תא ונפלש ,הז הרקמב .ךילע תפדעומה הנומתה תא לבק ,תישאר

              # podman pull docker.io/redis
              

              .systemd םע תולוכמ ליעפהל ידכ container_manage_cgroup תינאילובה תא ליעפהל ךילע ,ךלש תכרעמב תלעופ SELinux תכרעמ םא

              # setsebool -p container_manage_cgroup on
              

              ונלש RHEL 8 חראמל לכימהמ 6379 האיציה תא וניפימו ונלש redis_server הנומתה תא ונמש ,וז המגודב .ךילע תפדעומה הנומתה םשל התוא הצקהו עקרב הלוכמה תנומת תא לעפה ,ןכמ רחאל

              # podman run -d --name redis_server -p 6379:6379 redis
              

              ./ etc/systemd/system/הירפסב שדחמ חותינל הדיחיה תכרעמ לש הרוצת ץבוק רוציל םיכלוה ונא ,ןכמ רחאל

              # vim /etc/systemd/system/redis-container.service
              

              .ץבוקל הטמל ןכותה תא קבדה

              [Unit]
              Description=Redis container
              
              [Service]
              Restart=always
              ExecStart=/usr/bin/podman start -a redis_server
              ExecStop=/usr/bin/podman stop -t 2 redis_server
              
              [Install]
              WantedBy=local.target
              

              .ץבוקהמ אציו רומש

              .לוחתא תעב תיטמוטוא ליחתתש הלוכמה תרוצת תא עבק ,ןכמ רחאל

              # systemctl enable redis-container.service
              

              .ולש הצירה בצמ תא אדוו הלוכמה תא לעפה ,ןכמ רחאל

              # systemctl start redis-container.service
              # systemctl status redis-container.service
              

              לכימ תונומתל עובק ןוסחא לש הרוצת רדגה

              .תועטב רסומ וא סרוק הלוכמהש הרקמל יוביג קפסמ הז .חראמב ךשמתמ ינוציח ןוסחא לש הרוצת רידגהל ריהז הז ,תולוכמ תלעפה תעב

              .הלוכמה ךותב היירפסל חראמב תמקוממה היירפס תופמל םיכלוה ונא ,םינותנב דימתהל ידכ

              $ podman run --privileged -it -v /var/lib/containers/backup_storage:/mnt registry.redhat.io/ubi8/ubi /bin/bash
              

              .mnt/היירפסה אוה ןאכ לכימה חפנ .חראמה לע אצמנש ינוציחה ןוסחאה יעצמא תא תנייצמ -v תורשפאה .הפיכאל רדגומ SELinux רשאכ תרבוע - privileged תורשפאה

              .גצומש יפכ mnt/הירפסב testing.txt אמגודל ץבוק רוצינ ונא ,הפילקל ונשיגנש רחאל

              $ echo "This tests persistent external storage" > /mnt/testing.txt
              

              חראמה לע ןכושה ינוציחה ןוסחאב םייק ץבוקה םא קודבנו לכימהמ אצנ ןכמ רחאל

              # exit
              # cat /var/lib/containers/backup_storage/testing.txt
              

              .ךשמתמ ינוציח ןוסחא קדוב הז ⇒ טלפ

              תולוכמ לש הרסהו הריצע

              .podman ps תדוקפמ גישהל לכות התואש לכימה ההזמ הירחאו stop podman הדוקפה תועצמאב התוא קיספהל לכות ,ךלש הלוכמה תלעפה םע םייסתש רחאל

              # podman stop container-id
              

              .היצפואכ לכימה םש וא ההזמ הירחאו podman rm הדוקפה תא לעפה זאו התוא קיספמ התאש אדו ,תישאר ,דוע ךירצ ךניאש תולוכמה תא ריסהל ידכ

              # podman rm container-id
              

              .חוור ידי לע םידרפומה הלוכמה יהזמ תא ןייצ ,תחא הדוקפב תחא תבב תולוכמ רפסמ ריסהל ידכ

              # podman rm container-id-1 container-id-2 container-id-3
              

              :הדוקפה תא לעפה ,ךלש תולוכמה לכ תא תוקנל ידכ

              # podman rm -a
              

              הנומת תרסה

              .םדוקה אשונה-תתב ןודנש יפכ ורסוהו תורצענ תונומתהמ ודילוהש תולוכמה לכש אדו ,תישאר ,הנומת ריסהל ידכ

              :גצומכ הנומתה ההזמ הירחאו -rmi podman> הדוקפה תא לעפהו ךשמה ,ןכמ רחאל

              # podman -rmi image-id
              

              םוכיס

              .Skopeo -ו podman תועצמאב ךלש RHEL -ה תכרעמב םתוא להנלו היצקארטניא םייקל לכות דציכו תולוכמ לש הנוכנ הנבה קפיס הז ךירדמ יכ םיווקמ ונא .RHEL 8 -ב תולוכמ םע הדובעו לוהינ לע הז קרפ ףיקמ הז