-
בעקבות דיבורים לאחרונה (וכמה פעמים בעבר) על אקסס חסרונותיו ותחליפים אפשריים, עשיתי גיגול קצר שבעקבותיה הגעתי לזה: https://cortezaproject.org
אפשר להתרשם מיכולותיו כאן: https://latest.cortezaproject.orgזה פרוייקט קוד פתוח וחינמי לגמרי (בניגוד לכל מיני פלטפורמות שיכולות להתאים אבל הם בתשלום חודשי, כמו airtables, power apps ועוד).
אפשר להתקין אותו במהירות על ידי docker ולהריץ אותו לוקלי. הוראות: https://docs.cortezaproject.org/corteza-docs/2020.12/dev-ops-guide/deployment/demo-mysql.html -
@odeddvir
א. אין צורך להבין מה זה דוקר כדי להשתמש בו. (ששש... גם אני לא יודע בדיוק איך עובד הכל בדוקר וזה פעם ראשון בחיי שהתשתמשי ב-docker-compose, אני עדיין לא יודע מה זה בדיוק 🤫)ב. אני מצרף לכאן דברים שכתבתי באכסניה אחרת בנושא "מה זה דוקר".
מה זה Docker? לפני שתבין מה זה דוקר אתה חייב להבין מה זה container - קונטיינר.
קונטיינר (מיכל בתרגום ישיר) הוא תהליך (או קבוצת תהליכים, תהליך ראשי שמוליד עוד תהליכים וכולם נמצאים באותו קונטיינר) שמערכת ההפעלה מבודד אותם אותם משאר המערכת. הם כאילו נמצאים בבועה בלי לדעת (ובלי יכולת לדעת, ובלי צורך לדעת) מה קורה בעולם הרחב של שאר חלקי מערכת ההפעלה.
(בלינוקס זה מבוסס על טכנולוגיית namespaces.)
במה הם מבודדים?
-
מערכת הקבצים - הם רואים רק את החלק של מערכת הקבצים שאתה רוצה שהם יראו. (בד"כ זה מערכת קבצים נפרד לגמרי משאר המערכת, כך שאפשר להריץ הפצת redhat על מערכת שמבוסס על debian וכו')
-
תהליכים - הם רואים רק תהליכים שנמצאים באותו קונטיינר, מזהי תהליכים שבתוך הקונטיינר לא תואמים את מזהי התהליכים שמחוץ. PID 1 בתוך הקונטיינר לא מציין את אותו תהליך שקיבל מזהה PID 1 מחוץ.
-
רשת - הם מקבלים את כל מרחב הפורטים כאילו אין עוד תהליכים במערכת. הם מקבלים מתאמי רשת בלעדיים, כתובות IP משלהם.
-
משתמשים מזהי המשתמשים בתוך הקונטיינר לא מתאימים לאלה שמחוץ. לדוגמה: UID 500 שבתוך הקונטיינר זה לא אותו משתמש מחוץ לקונטיינר. תהליכים שבתוך הקונטיינר לא יודעים ממשתמשים שמחוץ.
בקיצור זה קבוצת תהליכים שחיים בתוך בועה בתוך מערכת ההפעלה.
עוד מושג שכדאי להכיר זה union mount. זה סוג של מערכת קבצים ווירטואלית שמציג למשתמש תמונה שמתקבל מאיחוד כמה מערכות קבצים ביחד. זה מאפשר להשתמש בתמונת מערכת שהוא לקריאה בלבד, ולשים על גביו שכבה דקה שהוא לכתיבה, ולאחד אותם על ידי union mount כדי לתת רושם של מערכת קבצים שלמה לקריאה/כתיבה.
עכשיו לדוקר,
דוקר זה תוכנה (ושירות) שמשתמשת בטכנולוגיות הנ"ל כדי לעטוף אפליקציות בצורה מאוד קלה להתקנה וניהול.
כל אפליקציית דוקר בנוייה משכבה/כמה שכבות לקריאה בלבד. ועל גביהם יש שכבה של קריאה/כתיבה.
האפליקציה מורצת בתוך container כאשר מערכת הקבצים שלה היא האיחוד הזה של השכבות.
התהליכים של האפליקציה חיים בתוך הבועה של מערכת הקבצים הנ"ל. ולא איכפת להם מה שקורה מסביב. זה מקל מאוד על ההתקנה הניהול. שום שינוי שתעשה שמחשב לא ישפיע על האפליקציה, וכן כל התלויות של האפליקציה נמצאים בתוך הקונטיינר.
משהו השתבש? פשוט מוחקים את הקונטיינר. זה מוחק רק את השכבה העליונה. ומייצרים עוד קונטיינר, זה פעולה זולה מאוד מבחינת ביצועים כי צריך רק לייצר את השכבה העליונה. כל השאר לקריאה בלבד ונמצא כבר על המחשב.
(עוד דרך לחשוב על זה, הוא שאתה מקבל את היתרונות של VM - כלומר בידוד - בלי החסרונות - ביצועים)
ג. ומתיאוריה למעשה (אפשר גם לקפוץ ישר ל"למעשה" מבלי לקרוא את התיאוריה כלל):
- מתקינים דוקר https://docs.docker.com/docker-for-windows/install-windows-home/
- חלץ את התיקייה הזאת איפשהו במערכת הקבצים
- תפתח שורת פקודה, תעשה
cd
לתוך התיקייה - תריץ
docker-compose up -d
- זהו! הסביבה של corteza זמין כאן: http://localhost:18080
בהנאה!
נ.ב. אני לא יודע כמה שווה לך לבזבז זמן על זה כי אני לא יודע עד כמה זה באמת יכול להיות תחליף לאקסס. אני לא מכיר אקסס ויכולותיו מספיק.
-
-