התקנת תעודה ב-Docker: הבדלים בין גרסאות בדף

מתוך ויקי נטפרי
קפיצה לניווט קפיצה לחיפוש
שורה 41: שורה 41:
 
=== התקנת תעודת אבטחה בתמונה מבוססת אובנטו ===
 
=== התקנת תעודת אבטחה בתמונה מבוססת אובנטו ===
  
יש להוסיף את השורה הבאה לDockerfile:
+
יש להוסיף את השורות הבאות לDockerfile, מתחת לשורת הFROM:
  
RUN apt-get update && apt-get install -y curl sudo && curl -sL http://netfree.link/dl/ubuntuCertInstallNetFree.sh | bash -
+
  # --- NETFREE CERT INSALL---
 +
  RUN apt-get update -y
 +
  RUN apt-get install -y ca-certificates curl
 +
 
 +
  ADD http://netfree.link/netfree-ca.crt /usr/local/share/ca-certificates/netfree-ca.crt
 +
     
 +
  RUN update-ca-certificates
 +
 
 +
  ENV NODE_EXTRA_CA_CERTS /etc/ssl/certs/ca-certificates.crt
 +
  # --- END NETFRE CERT INSALL ----
  
התקנה מותאמת אישית שכוללת את הוספת התעודה לנוד:
+
במקרה הזה הוגדר המשתנה סביבה NODE_EXTRA_CA_CERTS לפתור גם תעודת אבטחה ליישומים מבוססי נוד.
  
# העתיקו את הקבצים netfree-ca-bundle-curl.crt וnetfree-ca-list.crt מהתיקיה C:\ProgramData\NetFree\CA לתיקיה בה הDockerfile נמצא.
+
=== התקנת תעודת אבטחה בתמונה מבוססת Alphin ==
# הוסיפו את השורות הבאות לקובץ הDockerfile:
 
  
 
   # --- NETFREE CERT INSALL---
 
   # --- NETFREE CERT INSALL---
   RUN apt-get update && apt-get upgrade -y
+
   RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/*
  RUN apt-get install -y ca-certificates curl
 
 
    
 
    
 
   ADD http://netfree.link/netfree-ca.crt /usr/local/share/ca-certificates/netfree-ca.crt
 
   ADD http://netfree.link/netfree-ca.crt /usr/local/share/ca-certificates/netfree-ca.crt
 
 
 
 
  RUN CERT_MOZILA=$(curl -Lk "https://curl.haxx.se/ca/cacert.pem") && \
 
      mkdir -p /opt/netfree/ca && \
 
      echo cat /usr/local/share/ca-certificates/netfree-ca.crt  >> /opt/netfree/ca/netfree-bundle.crt && \
 
      echo $CERT_MOZILA >> /opt/netfree/ca/netfree-bundle.crt
 
 
        
 
        
 
   RUN update-ca-certificates
 
   RUN update-ca-certificates
 
    
 
    
   ENV NODE_EXTRA_CA_CERTS /opt/netfree/ca/netfree-bundle.crt
+
   ENV NODE_EXTRA_CA_CERTS /etc/ssl/certs/ca-certificates.crt
 
   # --- END NETFRE CERT INSALL ----
 
   # --- END NETFRE CERT INSALL ----
 +
 +
=== במקרה בעיה, ולהוראות מתאימות לתמונות אחרות ==
  
 
כמובן שלכל תמונה ויישומים שבתוכה יש את הדרך שלה, במקרה שאתם מתקשים היעזרו במערכת הפניות (כללו תמיד בפניה את תוכן/קובץ הdockerfile במידת האפשר, ולפחות את שם תבנית התמונה, ולוג מלא ככל האפשר של השגיאה).
 
כמובן שלכל תמונה ויישומים שבתוכה יש את הדרך שלה, במקרה שאתם מתקשים היעזרו במערכת הפניות (כללו תמיד בפניה את תוכן/קובץ הdockerfile במידת האפשר, ולפחות את שם תבנית התמונה, ולוג מלא ככל האפשר של השגיאה).
  
 
נסו גם להיעזר בפורומים טכניים.
 
נסו גם להיעזר בפורומים טכניים.

גרסה מ־14:04, 20 במאי 2020

For English click here

למעבר מתצוגת עריכה לתצוגת קריאה

עמוד ראשי > תעודת האבטחה > התקנת תעודה ב-Docker ‎‎


Docker הינה תוכנה שמאפשרת לבנות סביבות הרצה עצמאיות על גבי מערכת הפעלה.

שגיאות ברמת תוכנת הDocker עצמה

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

אם אתם נתקלים בשגיאה בשלב הזה (בד"כ בשורת FROM של קובץ Dockerfile או בפקודת docker pull או docker run), השגיאה נראית ככה:

Get https://registry-1.docker.io/v2/: x509: certificate signed by unknown authority

או

Error response from daemon: Get https://registry-1.docker.io/v2/: x509: certificate signed by unknown authority.
  • ראשית ודאו שהתקנתם את התעודה של נטפרי במערכת שלכם (אם זה עתה התקנתם את התעודה, יש להפעיל מחדש את הDocker, הפעלת המחשב מחדש כמובן גם טובה).
  • אם מדובר בהתקנה של Docker Toolbox, אז לא די בתעודה ברמת המערכת הפעלה כי מערכת זו עושה שימוש במערכת וירטואלית לפעולות של Docker עצמה.

במקרה זה הפעילו את הטרמינל של Docker והריצו בו את הפקודות הבאות:

docker-machine ssh default
curl -L http://netfree.link/netfree-ca.crt | sudo tee -a /etc/ssl/certs/ca-certificates.crt /var/lib/boot2docker/certs
sudo /etc/init.d/docker restart 
exit

שגיאות אבטחה ביישומים והרצות מתוך הקונטיינר

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

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

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

רוב התמונות מבוססות linux, ולכן ההתקנה צריכה להיות דומה לזה. ניתן להתקין בקונטיינר באותם דרכים שמריצים בו כל פקודה: או ע"י RUN בבניית התמונה, או ע"י exce מאוחר יותר. להלן הוראות עבור dockerfile למערכות מבוססות אובנטו, למערכות אחרות יש לבדוק את המקבילות לכל פעולה.

התקנת תעודת אבטחה בתמונה מבוססת אובנטו

יש להוסיף את השורות הבאות לDockerfile, מתחת לשורת הFROM:

 # --- NETFREE CERT INSALL---
 RUN apt-get update -y
 RUN apt-get install -y ca-certificates curl
 
 ADD http://netfree.link/netfree-ca.crt /usr/local/share/ca-certificates/netfree-ca.crt
     
 RUN update-ca-certificates
 
 ENV NODE_EXTRA_CA_CERTS /etc/ssl/certs/ca-certificates.crt
 # --- END NETFRE CERT INSALL ----

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

= התקנת תעודת אבטחה בתמונה מבוססת Alphin

 # --- NETFREE CERT INSALL---
 RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/*
 
 ADD http://netfree.link/netfree-ca.crt /usr/local/share/ca-certificates/netfree-ca.crt
     
 RUN update-ca-certificates
 
 ENV NODE_EXTRA_CA_CERTS /etc/ssl/certs/ca-certificates.crt
 # --- END NETFRE CERT INSALL ----

= במקרה בעיה, ולהוראות מתאימות לתמונות אחרות

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

נסו גם להיעזר בפורומים טכניים.