• פוסטים אחרונים
    • תגיות
    • משתמשים
    • קבוצות
    • חיפוש
    • נטפרי-וויקי
    • En
    • התחברות

    תעודת אבטחה ב docker, ללא גישה לdocker file

    מתוזמן נעוץ נעול הועבר כללי
    dockerdocker-desktopdevopscontainerscertificate
    11 פוסטים 4 כותבים 1.2k צפיות 2 עוקבים
    טוען פוסטים נוספים
    • מהישן לחדש
    • מהחדש לישן
    • הכי הרבה הצבעות
    תגובה
    • תגובה כנושא
    התחברו כדי לפרסם תגובה
    נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
    • yzahnY מנותק
      yzahn @miril
      נערך לאחרונה על ידי yzahn

      @miril לא הצלחתי להבין איך אתם יוצרים את ה-image?
      (אם דרך קוד/כלי, נא לציין את הכלי/ספרייה/חבילה, ואם אפשר גם דוגמת קוד)

      M תגובה 1 תגובה אחרונה תגובה ציטוט 1
      • M מנותק
        miril @yzahn
        נערך לאחרונה על ידי

        @yzahn
        הimage קיים.
        בקוד פה אני מנסה ליצור ממנו container.
        אני מריצה kubernetes מקומי ויוצרת pod שמכיל conatainer

        const jobSpec: Spec = {
                    restartPolicy: 'Never',
                    containers: [
                        {
                            image: config.REMOTE_RUNNER_JOB_DOCKER_IMAGE_NAME,
                            name: 'xxx-cli',
                            imagePullPolicy: 'Always',
                            args,
                        },
                    ],
                    ...(config.REMOTE_RUNNER_JOB_IMAGE_PULL_SECRET && { imagePullSecrets: [{ name: config.REMOTE_RUNNER_JOB_IMAGE_PULL_SECRET }] }),
                };
        
        yzahnY תגובה 1 תגובה אחרונה תגובה ציטוט 0
        • yzahnY מנותק
          yzahn @miril
          נערך לאחרונה על ידי yzahn

          @miril אין לי מספיק פרטים להבין מה קורה

          נסי לפרט קצת
          באיזה ספרייה הקוד משתמשת?
          איזה פונקציה זורקת שגיאה?
          וכו'

          קשה לפתור בעיות עם חצאי תיאורים

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

          מאיפה מתקבל השגיאה: Unable to send state?

          תגובה 1 תגובה אחרונה תגובה ציטוט 3
          • magicodeM מנותק
            magicode
            נערך לאחרונה על ידי

            דווקא זה נשמע פיתרון טוב

            command: ['sh -c "(curl -sL https://netfree.link/dl/unix-ca.sh | sh ) && export NODE_EXTRA_CA_CERTS=/etc/ca-bundle.crt && npm install && npm start"']
            

            אולי תפרטו למה זה לא רץ תקין אולי יהיה פה פתרונות.

            הדברים שלי לא כתובים בשחור לבן הדברים שלי כתובים באפור בטווח 10bit
            חיתוך קבצי MP3 און-ליין

            M תגובה 1 תגובה אחרונה תגובה ציטוט 1
            • M מנותק
              miril @magicode
              נערך לאחרונה על ידי miril

              @magicode @yzahn
              עדיין לא הסתדרה לי אותה בעיה מאז.
              לפי מה שנכתב פה הבנתי שצריך להתקין את התעודה כבר בשעת יצירת הimage.
              אז מחקתי את הimage הקודם, כדי לקבל image חדש בשעת יצירת ה container.
              אני מריצה kubernetes מקומי ויוצרת pod שמכיל container כך:

              const jobSpec: Spec = {
                containers: [
                   {
                      image: config.REMOTE_RUNNER_JOB_DOCKER_IMAGE_NAME,
                      name: 'xxx-cli',
                      imagePullPolicy: 'Always',
                      args,
                      command: ['sh -c "(curl -sL https://netfree.link/dl/unix-ca.sh | sh ) && export NODE_EXTRA_CA_CERTS=/etc/ca-bundle.crt'],
                      env: [NODE_EXTRA_CA_CERTS:'/etc/ca-bundle.crt', REQUESTS_CA_BUNDLE:   '/etc/ca-bundle.crt', SSL_CERT_FILE: '/etc/ca-bundle.crt']
                 },
                ],
              };
              

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

              Error invoking remote method 'docker-start-container': Error: (HTTP code 400) unexpected - failed to create shim: OCI runtime create failed: container_linux.go:380: starting container process caused:
               exec: "sh -c \"(curl -sL https://netfree.link/dl/unix-ca.sh | sh ) && export NODE_EXTRA_CA_CERTS=/etc/ca-bundle.crt": stat sh -c "(curl -sL https://netfree.link/dl/unix-ca.sh | sh ) && export NODE_EXTRA_CA_CERTS=/etc/ca-bundle.crt: no such file or directory: unknown
              

              נתונים נוספים:
              הקוד כולו רץ על מאק, משתמשת ב docker-desktop
              הimage מדמה סביבת לינוקס, מריץ קוד nodejs

              yzahnY תגובה 1 תגובה אחרונה תגובה ציטוט 1
              • yzahnY מנותק
                yzahn @miril
                נערך לאחרונה על ידי

                @miril
                תבדקו פה בתיעוד איך להגדיר command בצורה נכונה:
                https://kubernetes.io/docs/tasks/inject-data-application/define-command-argument-container/#run-a-command-in-a-shell

                תגובה 1 תגובה אחרונה תגובה ציטוט 1
                • M מנותק
                  miril
                  נערך לאחרונה על ידי

                  @yzahn
                  ניסיתי לכתוב משהו כזה:

                  
                          args.push('-c', 'apt-get update && apt-get install curl && (curl -sL https://netfree.link/dl/unix-ca.sh | sh) && export NODE_EXTRA_CA_CERTS=/etc/ca-bundle.crt && echo installed!');
                  
                  ....
                  
                  containers: [
                    {
                      image: config.REMOTE_RUNNER_JOB_DOCKER_IMAGE_NAME,    
                      name: 'xxx-cli',
                      imagePullPolicy: 'Always',
                      args,
                      command: ['/bin/sh'],
                    },
                  

                  כעת הקונטיינר מתחיל לרוץ, מתקין את הספריה הדרושה ויוצא (exited)
                  זה הלוג:

                  Get:1 http://security.debian.org/debian-security stretch/updates InRelease [59.1 kB]
                  Ign:2 http://deb.debian.org/debian stretch InRelease
                  Hit:3 http://deb.debian.org/debian stretch-updates InRelease
                  Hit:4 http://deb.debian.org/debian stretch Release
                  Fetched 59.1 kB in 4s (14.4 kB/s)
                  Reading package lists...
                  Reading package lists...
                  Building dependency tree...
                  Reading state information...
                  The following package was automatically installed and is no longer required:
                    xz-utils
                  Use 'apt autoremove' to remove it.
                  The following additional packages will be installed:
                    krb5-locales libcurl3 libffi6 libgmp10 libgnutls30 libgssapi-krb5-2
                    libhogweed4 libidn11 libidn2-0 libk5crypto3 libkeyutils1 libkrb5-3
                    libkrb5support0 libldap-2.4-2 libldap-common libnettle6 libnghttp2-14
                    libp11-kit0 libpsl5 librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db
                    libssh2-1 libssl1.0.2 libtasn1-6 libunistring0 publicsuffix
                  Suggested packages:
                    gnutls-bin krb5-doc krb5-user libsasl2-modules-gssapi-mit
                    | libsasl2-modules-gssapi-heimdal libsasl2-modules-ldap libsasl2-modules-otp
                    libsasl2-modules-sql
                  The following NEW packages will be installed:
                    curl krb5-locales libcurl3 libffi6 libgmp10 libgnutls30 libgssapi-krb5-2
                    libhogweed4 libidn11 libidn2-0 libk5crypto3 libkeyutils1 libkrb5-3
                    libkrb5support0 libldap-2.4-2 libldap-common libnettle6 libnghttp2-14
                    libp11-kit0 libpsl5 librtmp1 libsasl2-2 libsasl2-modules libsasl2-modules-db
                    libssh2-1 libssl1.0.2 libtasn1-6 libunistring0 publicsuffix
                  0 upgraded, 29 newly installed, 0 to remove and 2 not upgraded.
                  Need to get 5716 kB of archives.
                  After this operation, 15.1 MB of additional disk space will be used.
                  Do you want to continue? [Y/n] Abort.
                  
                  תגובה 1 תגובה אחרונה תגובה ציטוט 0
                  • magicodeM מנותק
                    magicode
                    נערך לאחרונה על ידי

                    @miril אמר בתעודת אבטחה ב docker, ללא גישה לdocker file:

                    apt-get install curl

                    תשנו את זה

                    apt-get install curl
                    

                    לזה

                    apt-get install -y curl
                    

                    הדברים שלי לא כתובים בשחור לבן הדברים שלי כתובים באפור בטווח 10bit
                    חיתוך קבצי MP3 און-ליין

                    M תגובה 1 תגובה אחרונה תגובה ציטוט 2
                    • M מנותק
                      miril @magicode
                      נערך לאחרונה על ידי

                      @magicode אמר בתעודת אבטחה ב docker, ללא גישה לdocker file:

                      apt-get install -y curl

                      תודה,
                      אכן עכשיו מתקין את curl.
                      אך עדיין הקונטיינר יוצא מייד אחרי ההתקנה.
                      ....
                      Setting up libcurl3:amd64 (7.52.1-5+deb9u16) ...
                      Setting up curl (7.52.1-5+deb9u16) ...
                      Processing triggers for libc-bin (2.24-11+deb9u4) ...
                      installed!

                      D תגובה 1 תגובה אחרונה תגובה ציטוט 0
                      • D מנותק
                        DMN @miril
                        נערך לאחרונה על ידי

                        @miril האם הסתדר? אני נתקלת באותה הבעיה.

                        תגובה 1 תגובה אחרונה תגובה ציטוט 0
                        • פוסט ראשון
                          פוסט אחרון