דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. בניית לולאה שתריץ docker image

בניית לולאה שתריץ docker image

מתוזמן נעוץ נעול הועבר תכנות
12 פוסטים 7 כותבים 529 צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • צבי-שצ מחובר
    צבי-שצ מחובר
    צבי-ש
    כתב ב נערך לאחרונה על ידי צבי-ש
    #1

    יש לי המון פרויקטים שצריכים לרוץ שם בדוקרים נפרדים, (שרת vps של קונטאבו)

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

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

    הייתי כותב בסקריפט פשוט docker run הבעיה יהא שה id של הדוקר משתנה בכל bulid image, ואני לא יכול לסמוך על רשימה שאני יכין פעם אחת ואותה ישים בסקריפט שיפעיל.
    חשבתי לעשות משהו כזה:

    1 ) תקייה אחת (projects) שבתוכה יהיה את כל הפרויקטים שלי, שעליה אני ירוץ בסריקה ויקבל אליי רשימה של התיקיות שיש שם.
    2) בכל bulid image אני ירשום את ה id של הimage לתוך קובץ (למשל לקובץ dockerid שיהיה בתוך התיקיה של הפרויקט).
    3 ) אחרי זה להריץ לולאה על כל התקיות ולקחת את קובץ בשם dockerid ואיתו לעשות את ה docker run

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

    עריכה:
    אני עברתי על התיעוד של דוקר ונראה לי שאפשר להריץ <docker run <name ולא דווקא עם ה id ולכן כל הבאלגן מיותר לכאורה.
    רק נשאר לדעת האם זה הדרך לשמור על פרויקטים עובדים, זה על ידי יצירת יישום מערכת שמפעיל את כולם.

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

    כיף לגלות דברים חדשים.
    חוק ה-50-50-90: בכל פעם שיש סיכוי של 50-50 שמשהו יעבוד, יש סיכוי של 90 אחוז שהוא לא. מקור

    צדיק תמיםצ שמואל4ש ח 3 תגובות תגובה אחרונה
    1
    • צדיק תמיםצ מנותק
      צדיק תמיםצ מנותק
      צדיק תמים
      השיב לצבי-ש ב נערך לאחרונה על ידי צדיק תמים
      #2

      @צבי-ש כתב בבניית לולאה שתריץ docker image:

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

      אין לי נסיון בדוקר (☹️), אבל נראה שהאופציה המומלצת היא להשתמש במדיניות הפעלה מחדש בדוקר עצמו: https://docs.docker.com/config/containers/start-containers-automatically

      Docker provides restart policies to control whether your containers start automatically when they exit, or when Docker restarts. Restart policies ensure that linked containers are started in the correct order. Docker recommends that you use restart policies, and avoid using process managers to start containers.

      Don’t comment bad code — rewrite it." — Brian W. Kernighan and P. J. Plaugher"
      טיפים

      תגובה 1 תגובה אחרונה
      4
      • שמואל4ש מנותק
        שמואל4ש מנותק
        שמואל4
        השיב לצבי-ש ב נערך לאחרונה על ידי
        #3

        @צבי-ש אתה מחפש את restart=always ושלום שלום.
        זה יפעיל מחדש את הקונטיינר הכל הפעלה מחדש וגם אם התהליך בתוכו הסתיים זה יפעיל אותו מחדש.

        ליצירת קשר:
        sh@mitm.top

        תגובה 1 תגובה אחרונה
        3
        • A מנותק
          A מנותק
          aaron
          כתב ב נערך לאחרונה על ידי
          #4

          ולא לשכוח להפעיל את הסרויס של דוקר עצמו,
          systemctl enable docker.service

          aaron.tchumim@gmail.com
          Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

          ווצאפ API - תיעוד שירות API לא רשמי.

          שמואל4ש תגובה 1 תגובה אחרונה
          4
          • שמואל4ש מנותק
            שמואל4ש מנותק
            שמואל4
            השיב לaaron ב נערך לאחרונה על ידי
            #5

            @aaron כתב בבניית לולאה שתריץ docker image:

            ולא לשכוח להפעיל את הסרויס של דוקר עצמו,

            בהתקנה סטנדרטית הוא enabled כברירת מחדל

            ליצירת קשר:
            sh@mitm.top

            תגובה 1 תגובה אחרונה
            1
            • Aharon 0A מנותק
              Aharon 0A מנותק
              Aharon 0
              כתב ב נערך לאחרונה על ידי
              #6

              למה לא להשתמש ב kubernetes ?

              A תגובה 1 תגובה אחרונה
              1
              • A מנותק
                A מנותק
                aaron
                השיב לAharon 0 ב נערך לאחרונה על ידי
                #7

                @Aharon-0 כתב בבניית לולאה שתריץ docker image:

                למה לא להשתמש ב kubernetes ?

                אתה עובד עם קוברנטיס או שאתה סתם זורק את זה פה באוויר?

                aaron.tchumim@gmail.com
                Hetzner - שרתים וירטואליים ופיזיים במחירים מעולים (קישור שותפים)

                ווצאפ API - תיעוד שירות API לא רשמי.

                Aharon 0A תגובה 1 תגובה אחרונה
                2
                • Aharon 0A מנותק
                  Aharon 0A מנותק
                  Aharon 0
                  השיב לaaron ב נערך לאחרונה על ידי
                  #8

                  @aaron לומד את התחום.

                  תגובה 1 תגובה אחרונה
                  0
                  • ח מנותק
                    ח מנותק
                    חינמי
                    השיב לצבי-ש ב נערך לאחרונה על ידי
                    #9

                    @צבי-ש כתב בבניית לולאה שתריץ docker image:

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

                    בהמשך המסמך ש @צדיק-תמים הביא מובאת גם השיטה של יצירת שירות באמצעות systemd וכד',

                    Use a process manager

                    If restart policies don’t suit your needs, such as when processes outside Docker depend on Docker containers, you can use a process manager such as upstart, systemd, or supervisor instead.
                    To use a process manager, configure it to start your container or service using the same docker start or docker service command you would normally use to start the container manually. Consult the documentation for the specific process manager for more details.

                    זה חשוב כשהשירות שלך תלוי בשירותים מחוץ לדוקר, וכן אפשר להגדיר ב systemd פעולות שיתבצעו כששירות נופל (התראות למייל וכד') ועוד עולם שלם של יכולות, כך שזו עדין דרך שימושית.

                    קצת מראי מקומות:

                    • מדריך לSystemd Units
                    • מדריך ספציפי לדוקר

                    רקע יפה למשתמשי נטפרי
                    chinami.netfree@gmail.com

                    תגובה 1 תגובה אחרונה
                    1
                    • upsilon01U מנותק
                      upsilon01U מנותק
                      upsilon01
                      כתב ב נערך לאחרונה על ידי
                      #10

                      @צבי-ש

                      ממליץ לך להשתמש ב docker-compose

                      נ.ב.
                      מתפלא שאף אחד לא הזכיר את זה ( למרות שהזכירו k8s)

                      שמואל4ש תגובה 1 תגובה אחרונה
                      1
                      • שמואל4ש מנותק
                        שמואל4ש מנותק
                        שמואל4
                        השיב לupsilon01 ב נערך לאחרונה על ידי
                        #11

                        @upsilon01 כתב בבניית לולאה שתריץ docker image:

                        ממליץ לך להשתמש ב docker-compose

                        לדעתי זה פחות לעניין להשתמש ב compose שמדובר בשירותים נפרדים.
                        מקובל להשתמש ב compose כדי להריץ למשל שרת ולקוח, או שרת וDB, וכד', אבל לא לדברים שונים.
                        זו לפחות דעתי.

                        בכל אופן, השאלה של השואל תקפה גם ל docker compose, גם בו צריך להגדיר מדיניות restart.

                        ליצירת קשר:
                        sh@mitm.top

                        upsilon01U תגובה 1 תגובה אחרונה
                        0
                        • upsilon01U מנותק
                          upsilon01U מנותק
                          upsilon01
                          השיב לשמואל4 ב נערך לאחרונה על ידי
                          #12

                          @שמואל4

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

                          תגובה 1 תגובה אחרונה
                          0

                          בא תתחבר לדף היומי!
                          • התחברות

                          • אין לך חשבון עדיין? הרשמה

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