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

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

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

חיבור למסד נתונים בדוקר 2

מתוזמן נעוץ נעול הועבר תכנות
17 פוסטים 4 כותבים 330 צפיות 4 עוקבים
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
תגובה
  • תגובה כנושא
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • י יוסף בן שמעון

    @שואף למה אתה צריך לעבוד עם הרשת של המארח?

    שואףש מנותק
    שואףש מנותק
    שואף
    כתב ב נערך לאחרונה על ידי
    #3

    @יוסף-בן-שמעון אסטריסק דורש פורטים של RTP מרובים, אין אפשרות לפתוח את כולם (מדובר על כמה אלפים, ודוקר יכול לפתוח רק כמה פורטים בודדים)

    ליצירת קשר: admin@i-call.me

    הידד! גישה למייל גם בלי מחשב ואינטרנט!

    י תגובה 1 תגובה אחרונה
    2
    • שואףש שואף

      @יוסף-בן-שמעון אסטריסק דורש פורטים של RTP מרובים, אין אפשרות לפתוח את כולם (מדובר על כמה אלפים, ודוקר יכול לפתוח רק כמה פורטים בודדים)

      י מנותק
      י מנותק
      יוסף בן שמעון
      כתב ב נערך לאחרונה על ידי
      #4

      @שואף אז בעצם אתה רוצה להתחבר מהרשת המארחת לרשת הפנימית של המיכל, אם כן expose פשוט אמור לפתור את זה.

      שואףש תגובה 1 תגובה אחרונה
      2
      • י יוסף בן שמעון

        @שואף אז בעצם אתה רוצה להתחבר מהרשת המארחת לרשת הפנימית של המיכל, אם כן expose פשוט אמור לפתור את זה.

        שואףש מנותק
        שואףש מנותק
        שואף
        כתב ב נערך לאחרונה על ידי
        #5

        @יוסף-בן-שמעון אמר בחיבור למסד נתונים בדוקר 2:

        @שואף אז בעצם אתה רוצה להתחבר מהרשת המארחת לרשת הפנימית של המיכל, אם כן expose פשוט אמור לפתור את זה.

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

        ליצירת קשר: admin@i-call.me

        הידד! גישה למייל גם בלי מחשב ואינטרנט!

        A תגובה 1 תגובה אחרונה
        0
        • שואףש שואף

          @יוסף-בן-שמעון אמר בחיבור למסד נתונים בדוקר 2:

          @שואף אז בעצם אתה רוצה להתחבר מהרשת המארחת לרשת הפנימית של המיכל, אם כן expose פשוט אמור לפתור את זה.

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

          A מנותק
          A מנותק
          aaron
          כתב ב נערך לאחרונה על ידי
          #6

          @שואף אמר בחיבור למסד נתונים בדוקר 2:

          @יוסף-בן-שמעון אמר בחיבור למסד נתונים בדוקר 2:

          @שואף אז בעצם אתה רוצה להתחבר מהרשת המארחת לרשת הפנימית של המיכל, אם כן expose פשוט אמור לפתור את זה.

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

          אם אתה עושה expose, אז אתה מתחבר לlocalhost.

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

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

          שואףש 2 תגובות תגובה אחרונה
          1
          • A aaron

            @שואף אמר בחיבור למסד נתונים בדוקר 2:

            @יוסף-בן-שמעון אמר בחיבור למסד נתונים בדוקר 2:

            @שואף אז בעצם אתה רוצה להתחבר מהרשת המארחת לרשת הפנימית של המיכל, אם כן expose פשוט אמור לפתור את זה.

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

            אם אתה עושה expose, אז אתה מתחבר לlocalhost.

            שואףש מנותק
            שואףש מנותק
            שואף
            כתב ב נערך לאחרונה על ידי
            #7

            @aaron

            
            root@docker:~# mysql -u root -p54fghjghjk44RkjJHkhgv3798 -h localhost -P 3306
            mysql: [Warning] Using a password on the command line interface can be insecure.
            ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
            

            ליצירת קשר: admin@i-call.me

            הידד! גישה למייל גם בלי מחשב ואינטרנט!

            י תגובה 1 תגובה אחרונה
            0
            • A aaron

              @שואף אמר בחיבור למסד נתונים בדוקר 2:

              @יוסף-בן-שמעון אמר בחיבור למסד נתונים בדוקר 2:

              @שואף אז בעצם אתה רוצה להתחבר מהרשת המארחת לרשת הפנימית של המיכל, אם כן expose פשוט אמור לפתור את זה.

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

              אם אתה עושה expose, אז אתה מתחבר לlocalhost.

              שואףש מנותק
              שואףש מנותק
              שואף
              כתב ב נערך לאחרונה על ידי
              #8

              @aaron @יוסף-בן-שמעון אני מדבר על אפליקציה במצב HOST ומסד נתונים במצב BRIDGE. ואז השאלה איך לגשת מהאפליקציה לנתונים בלי להשתמש בכתובת אייפי החמקמקה.
              ברור שאם אגדיר המסד נתונים במצב HOST אוכל לגשת עם LOCALHOST, אבל אני מנסה להמנע מלחשוף שירותים שאינם נחוצים (או שאולי זה לא כזה נורא ואפשר לוותר על הזהירות הזו?)

              ליצירת קשר: admin@i-call.me

              הידד! גישה למייל גם בלי מחשב ואינטרנט!

              תגובה 1 תגובה אחרונה
              0
              • שואףש שואף

                @aaron

                
                root@docker:~# mysql -u root -p54fghjghjk44RkjJHkhgv3798 -h localhost -P 3306
                mysql: [Warning] Using a password on the command line interface can be insecure.
                ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
                
                י מנותק
                י מנותק
                יוסף בן שמעון
                כתב ב נערך לאחרונה על ידי יוסף בן שמעון
                #9

                @שואף אמר בחיבור למסד נתונים בדוקר 2:

                @aaron

                
                root@docker:~# mysql -u root -p54fghjghjk44RkjJHkhgv3798 -h localhost -P 3306
                mysql: [Warning] Using a password on the command line interface can be insecure.
                ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
                

                כלומר - אותה הפקודה בדיוק מאותה המכונה, עם אייפי עובדת ועם לוקאלהוסט לא עובדת?
                אחרי שערכת את הדוקר קומפוז עשית DOWN ו UP?

                שואףש תגובה 1 תגובה אחרונה
                2
                • י יוסף בן שמעון

                  @שואף אמר בחיבור למסד נתונים בדוקר 2:

                  @aaron

                  
                  root@docker:~# mysql -u root -p54fghjghjk44RkjJHkhgv3798 -h localhost -P 3306
                  mysql: [Warning] Using a password on the command line interface can be insecure.
                  ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
                  

                  כלומר - אותה הפקודה בדיוק מאותה המכונה, עם אייפי עובדת ועם לוקאלהוסט לא עובדת?
                  אחרי שערכת את הדוקר קומפוז עשית DOWN ו UP?

                  שואףש מנותק
                  שואףש מנותק
                  שואף
                  כתב ב נערך לאחרונה על ידי שואף
                  #10

                  @יוסף-בן-שמעון כן וכן.
                  במילים אחרות, אם אני מפעיל דוקר של MYQSL במצב BRIDGE ועושה EXPOSE לפורט 3306, אני לא מצליח להתחבר אליו מהשרת הHOST

                  version: '3.1'
                  
                  services:
                    db:
                      image: mariadb:10.5
                      container_name: testdb
                      network_mode: bridge
                      expose:
                        - 3306
                      environment:
                        MYSQL_ROOT_PASSWORD: 54fghjghjk44RkjJHkhgv3798
                  

                  הצורה היחידה שאני מצליח להתחבר זה לעשות

                  docker inspect testdb  | grep IPAddress
                  

                  שמחזיר לי אייפי "172.17.0.2" ואז אני יכול להתחבר כך

                  mysql -u root -p54fghjghjk44RkjJHkhgv3798 -h "172.17.0.2"
                  

                  ליצירת קשר: admin@i-call.me

                  הידד! גישה למייל גם בלי מחשב ואינטרנט!

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

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

                    https://github.com/docker/compose/issues/3211 אולי זה יתן כיוון

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

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

                    שואףש תגובה 1 תגובה אחרונה
                    1
                    • A aaron

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

                      https://github.com/docker/compose/issues/3211 אולי זה יתן כיוון

                      שואףש מנותק
                      שואףש מנותק
                      שואף
                      כתב ב נערך לאחרונה על ידי
                      #12

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

                      ליצירת קשר: admin@i-call.me

                      הידד! גישה למייל גם בלי מחשב ואינטרנט!

                      A תגובה 1 תגובה אחרונה
                      0
                      • שואףש שואף

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

                        A מנותק
                        A מנותק
                        aaron
                        כתב ב נערך לאחרונה על ידי
                        #13

                        @שואף
                        גישה נורמלית זה אומר expose. זה עובד ועובד מעולה.
                        לך זה לא עבד כי ניסת להתחבר לסוקט ולא לפורט!

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

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

                        שואףש תגובה 1 תגובה אחרונה
                        2
                        • A aaron

                          @שואף
                          גישה נורמלית זה אומר expose. זה עובד ועובד מעולה.
                          לך זה לא עבד כי ניסת להתחבר לסוקט ולא לפורט!

                          שואףש מנותק
                          שואףש מנותק
                          שואף
                          כתב ב נערך לאחרונה על ידי
                          #14

                          @aaron לא מבין מה שאתה אומר.
                          אני רוצה להתחבר לפורט, ולא מצאתי איך, חוץ מלאתר את כתובת האייפי ואת זה אני רוצה למנוע.
                          אבל להתחבר ל127.0.0.1 זה לא נותן בשום אופן.
                          אתה מבין את הבעייה?

                          ליצירת קשר: admin@i-call.me

                          הידד! גישה למייל גם בלי מחשב ואינטרנט!

                          תגובה 1 תגובה אחרונה
                          0
                          • שואףש שואף

                            @יוסף-בן-שמעון כן וכן.
                            במילים אחרות, אם אני מפעיל דוקר של MYQSL במצב BRIDGE ועושה EXPOSE לפורט 3306, אני לא מצליח להתחבר אליו מהשרת הHOST

                            version: '3.1'
                            
                            services:
                              db:
                                image: mariadb:10.5
                                container_name: testdb
                                network_mode: bridge
                                expose:
                                  - 3306
                                environment:
                                  MYSQL_ROOT_PASSWORD: 54fghjghjk44RkjJHkhgv3798
                            

                            הצורה היחידה שאני מצליח להתחבר זה לעשות

                            docker inspect testdb  | grep IPAddress
                            

                            שמחזיר לי אייפי "172.17.0.2" ואז אני יכול להתחבר כך

                            mysql -u root -p54fghjghjk44RkjJHkhgv3798 -h "172.17.0.2"
                            
                            רפאלר מנותק
                            רפאלר מנותק
                            רפאל
                            כתב ב נערך לאחרונה על ידי רפאל
                            #15

                            העובדה שיש לך אפליקציה נוספת שמשתמשת בNetwork של הHost הינה חסרת חשיבות, השאלה שלך היא כיצד ניתן לגשת לקונטיינר (bridge network mode) מבחוץ (הHost המארח).

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

                            התהליך מתבצע באמצעות מיפוי פורט X בקונטיינר לפורט Y בHost.

                            להלן מספר דוגמאות מתוך הדוקומנטציה:

                            פקודה תיאור
                            docker run -p 8080:80 מפה את פורט 80 בקונטיינר לפורט 8080 בHost
                            docker run -p 192.168.1.100:8080:80 מפה את פורט 80 TCP בקונטיינר לפורט 8080 בHost עבור חיבורים לHost באמצעות האייפיי 192.168.1.100
                            docker run -p 8080:80/tcp -p 8080:80/udp מפה את פורט TCP-80 בקונטיינר לפורט TCP-8080 בHost ואת פורט UDP-80 בקונטיינר לפורט 8080-UDP בHost

                            אם המיפוי של המסד נתונים יתבצע באופן דלהלן "3306:3306", המסד יהיה זמין בפורט 3306 של הlocalhost.

                            
                            services:
                              db:
                                image: mariadb:10.5
                                environment:
                                  MYSQL_ROOT_PASSWORD: 54fghjghjk44RkjJHkhgv3798
                                ports:
                                  - "3306:3306"
                            
                            שואףש תגובה 1 תגובה אחרונה
                            5
                            • רפאלר רפאל

                              העובדה שיש לך אפליקציה נוספת שמשתמשת בNetwork של הHost הינה חסרת חשיבות, השאלה שלך היא כיצד ניתן לגשת לקונטיינר (bridge network mode) מבחוץ (הHost המארח).

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

                              התהליך מתבצע באמצעות מיפוי פורט X בקונטיינר לפורט Y בHost.

                              להלן מספר דוגמאות מתוך הדוקומנטציה:

                              פקודה תיאור
                              docker run -p 8080:80 מפה את פורט 80 בקונטיינר לפורט 8080 בHost
                              docker run -p 192.168.1.100:8080:80 מפה את פורט 80 TCP בקונטיינר לפורט 8080 בHost עבור חיבורים לHost באמצעות האייפיי 192.168.1.100
                              docker run -p 8080:80/tcp -p 8080:80/udp מפה את פורט TCP-80 בקונטיינר לפורט TCP-8080 בHost ואת פורט UDP-80 בקונטיינר לפורט 8080-UDP בHost

                              אם המיפוי של המסד נתונים יתבצע באופן דלהלן "3306:3306", המסד יהיה זמין בפורט 3306 של הlocalhost.

                              
                              services:
                                db:
                                  image: mariadb:10.5
                                  environment:
                                    MYSQL_ROOT_PASSWORD: 54fghjghjk44RkjJHkhgv3798
                                  ports:
                                    - "3306:3306"
                              
                              שואףש מנותק
                              שואףש מנותק
                              שואף
                              כתב ב נערך לאחרונה על ידי
                              #16

                              @רפאל נפלא. חשבתי שEXPOSE זה למיפוי פנימי וPORTS לחיצוני, אבל בעצם מה שאני צריך זה נקרא חיצוני.
                              וכמו שכתבת הEXPOSE לא אומר כלום (פעם זה לא היה ככה אם אני לא טועה)

                              יישר כוח גדול!!!

                              ליצירת קשר: admin@i-call.me

                              הידד! גישה למייל גם בלי מחשב ואינטרנט!

                              רפאלר תגובה 1 תגובה אחרונה
                              1
                              • שואףש שואף

                                @רפאל נפלא. חשבתי שEXPOSE זה למיפוי פנימי וPORTS לחיצוני, אבל בעצם מה שאני צריך זה נקרא חיצוני.
                                וכמו שכתבת הEXPOSE לא אומר כלום (פעם זה לא היה ככה אם אני לא טועה)

                                יישר כוח גדול!!!

                                רפאלר מנותק
                                רפאלר מנותק
                                רפאל
                                כתב ב נערך לאחרונה על ידי רפאל
                                #17

                                @שואף נכון, בעבר Expose היה מאפשר גישה בין קונטיינרים, ובהעדרו, היה ניתן לגשת לתהליך רק מתוך הקונטיינר עצמו.

                                תגובה 1 תגובה אחרונה
                                2
                                תגובה
                                • תגובה כנושא
                                התחברו כדי לפרסם תגובה
                                • מהישן לחדש
                                • מהחדש לישן
                                • הכי הרבה הצבעות


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

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

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