PracticU

הקמת אתר Wordpress עם Docker Compose

בלי כתוביותעם כתוביות
PracticU › קורס Docker - עם Swarm Cluster › הקמת אתר Wordpress עם Docker Compose
מילון מושגים:
WordPress - מערכת ניהול תוכן בקוד פתוח לבניית אתרים ובלוגים, מבוססת PHP ומסד נתונים.
Docker - פלטפורמה להרצת אפליקציות בתוך קונטיינרים מבודדים וקלים, כדי שירוצו באופן אחיד בכל סביבה.
קונטיינר - חבילה קלה ומבודדת שאורזת אפליקציה עם כל תלויותיה, ורצה באופן אחיד בכל סביבה, למשל ב-Docker.
Windows Server - גרסת מערכת ההפעלה Windows המיועדת לשרתים, לניהול רשת, שירותים ומשתמשים בארגון.
MySQL - מערכת ניהול מסדי נתונים יחסיים בקוד פתוח, נפוצה מאוד באתרים וביישומי אינטרנט.
ווליום - יחידת אחסון לוגית על דיסק או מספר דיסקים. ב-Docker, מנגנון לשמירת נתונים מחוץ לקונטיינר.
משתנה סביבה - ערך בעל שם שמוגדר במערכת ההפעלה ומשמש תוכנות להגדרות, כמו נתיבים או מפתחות תצורה.
Docker Image - תבנית לקריאה בלבד שמכילה אפליקציה ותלויותיה, וממנה מריצים קונטיינרים ב-Docker.

הקמת אתר Wordpress עם Docker Compose
בהרצאה הזאת מקימים אתר WordPress יחד עם PHPMyAdmin, כשכל רכיב רץ בקונטיינר נפרד, והכל מנוהל בקובץ Docker Compose אחד.
התקנת Docker Compose על Windows Server
ההתקנה מתבצעת בשני צעדים בפאוורשל: הורדת קובץ ה-exe של Docker Compose לתיקיית Docker בתוך Program Files, ואחר כך בדיקה שהפקודה מזוהה. בשרתים מקובל להתקין כמה שפחות תוכנות, ולכן ההרצאה מתירה רק Notepad++ כעורך.
קובץ ה-Compose
1. דוגמה מוכנה: מתחילים מהקובץ לדוגמה שמפרסם Docker עבור WordPress, ושומרים אותו כ-docker-compose.yaml.
2. קונטיינר מסד נתונים: מסד MySQL עם ווליום שנשמר על הדיסק הפיזי, סיסמת root, שם מסד נתונים ומשתמש. ההרצאה מזכירה שהסיסמאות בקובץ הדוגמה הן ערכי הדגמה בלבד ויש להחליף אותם.
3. קונטיינר WordPress: מוגדר להמתין לקונטיינר של מסד הנתונים (depends_on), ומקבל את פרטי ההתחברות כמשתני סביבה. הפורט 8000 חשוף כלפי חוץ.
4. הפעלה: docker compose up -d מוריד את האימג'ים, מגדיר אותם ומרים את הכל. ההרצאה מציינת שההפעלה נמשכת כמה דקות.
PHPMyAdmin וניהול
1. הוספת שירות: מוסיפים שירות של PHPMyAdmin לאותו קובץ, עם משתני סביבה שמציינים את שרת מסד הנתונים.
2. עדכון בלי הפסקה: docker compose up -d מפעיל רק את השירות החדש, ואת הקונטיינרים הקיימים הוא לא מוחק.
3. התקנה ראשונית: בדפדפן מסיימים את ההתקנה של WordPress, כולל שם האתר ופרטי מנהל. לאחר מכן עורכים פוסט בלוח הניהול ורואים את השינוי באתר.
שימו לב
ההרצאה מציינת שהגדרת משתמש root ללא סיסמה ב-PHPMyAdmin היא מסוכנת, ומשמשת כאן רק להמחשה. בנוסף, ווליום שמשמש לקבצי האתר נשמר בדיסק הפיזי, וכך נשמר המידע גם אחרי מחיקת הקונטיינר.
השיעור הבא בקורס: יצירת Docker Image מאפס - ללא בסיס

פרקי ההרצאה: הקמת אתר Wordpress עם Docker Compose

  1. 00:00

    מבוא: אתר WordPress מכמה קונטיינרים

  2. 01:18

    התקנת Docker Compose בשרת Windows

  3. 03:00

    הורדת קובץ docker-compose.exe והתקנתו

  4. 04:49

    הכנת תיקיית הפרויקט וקובץ ה-YAML

  5. 08:04

    קונטיינר מסד הנתונים והווליום שלו

  6. 10:00

    הגדרת משתמש וסיסמה למסד הנתונים

  7. 11:18

    קונטיינר WordPress שתלוי במסד הנתונים

  8. 14:09

    הרחבה עם PHP MyAdmin והרצה אוטומטית

תמלול ההרצאה: הקמת אתר Wordpress עם Docker Compose

הטקסט המלא של הדקות הראשונות בהרצאה «הקמת אתר Wordpress עם Docker Compose» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.

  1. 00:02

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

  2. 00:39

    הוא יודע לחבר ביניהם לרשת נפרדת, הכל מצוים. שימו לב, בווינדוס 10, איפה שעדכנתי את הכלי הזה של docker for desktop, זוכרים שהתקנו אותו בהרצאות קודמות, שזה מה שנהוג להתקין, docker for desktop על ווינדוס 10, שהוא מאפשר לכל מיני הגדרות לעשות, ולעשות ישר sign-in לתוך ריפוזיטור,

  3. 01:05

    restart quit, זה כל זה ניהול של דוקר יש לו גם חלק מהתקנה דוקר קומפוז ואז דוקר קומפוז מותקן כבר על ווינדוס 10 בגלל שהתקנו את הדסקטופ אבל בשרת אם אנחנו נעשה דוקר קומפוז אך נראה שאין את הכלי הזה הוא לא מותקן הוא לא מופיע הוא לא יודע מה זה דוקר קומפוז is not recognized הוא לא יודע מה זה דוקר קומפוז אז אנחנו צריכים להתקין אותו

  4. 01:41

    אז בואו נתקין docker-compose על השרת ואז נקים כמה קונטיינרים, אחד ל-wordpress, אחד ל-database. אז אנחנו צריכים docker-compose install for Windows Server.

  5. 02:01

    ויש לנו פה htp-docs docker-compose, install docker-compose, יש pre-requisites, כל מיני דרישות קדם, אנחנו צריכים Windows Server, ויש לנו פה שתי פקודות שצריך להריץ, זאת הפקודה הראשונה, נריץ אותה, עשיתי קונטרול גלגלת כדי שאני אוכל לראות יותר טוב, אני מריץ את הפקודה הזאת,

  6. 02:45

    ואני מריץ את הפקודה שלמעשה מביאה לי את הקובץ של docker-compose, תיק את זה, מריץ.

  7. 03:00

    מה זה עושה? זה עושה invoke-web-request, לוקחת מתוך האתר הזה את הקובץ ה-XE, בעצם מתוך ה-git-app-compose-release את הקובץ ה-XE, ושמו אותו ב-out-file בתוך משתנה הסביבה של program files, למעשה c program files docker docker-compose אז היא שמה לנו בתוך תיקיה

  8. 03:20

    של docker docker-compose.axe את מה שהיא מורידה את הקובץ הזה וזה מה שעושה בעצם invoke-web-request לוקח קובץ מתוך האינטרנט מוריד אותו ושם אותו איפה שנגיד לו כך גם אנחנו ממש רואים איך הוא לוקח אותו הנה הוא סיים ויש לנו עכשיו docker-compose.axe יפה מאוד הנה הוא עובד נותן לנו פירוט פה ודפיין אנד ראן מולטי

  9. 04:05

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

  10. 04:33

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

  11. 04:49

    טוב בוא נחזור לענייננו בוא נעשה פה תיקייה שנקראת וורדפרס אוקיי נעשה פה תיקייה שנקראת וורדפרס ואני צריך ככה שיהיה לי איזשהו כלי במקום נוטפד אני רוצה נוטפד פלוס פלוס בשרת לא מתקינים לרוב ויז'ואל סטודיו ודברים כאלו אז משתמשים במקסימום הדבר הכי נוח שיש בשרת זה notepad++ באופן כללי על שרת כמה שפחות התקנות עושים כי הוא אמור לתת שירות לאלפי

  12. 05:11

    אנשים אוקיי אז הדבר היחיד שאני מרשה להתקין על השרתים זה notepad++ ולא כל מיני visual studio ודברים כאלו למרות שראיתי גם שרתים בפרודקשן שיש להם visual studio טוב אז אנחנו צריכים עכשיו ללכת ויש יש לנו פה wordpress שימו לב יש אנחנו מחפשים wordpress בוא ניקח אחד מוכן docker compose wordpress docker compose אנחנו רואים פה quickstart compose and

  13. 06:07

    wordpress באתר של docker הם נותנים לנו כבר את הקובץ מוכן נכון שזה נוח אנחנו באתר של docker.com יש להם כבר קובץ מוכן לwordpress כדוגמה וזה בדיוק מה שאנחנו נעשה אנחנו נתחיל מהדוגמה שלהם וננסה להבין מה הולך בה אחרי זה גם נוסיף לה תמיכה ב-PHP מהאדמין כדי לנהל את הדאטאבייס.

  14. 06:34

    אז אני לוקח את הקובץ הזה, שם אותו כאן, שם לו תמיכה בשפות, שמתם לב זה YAML? הופה, תראו, הכל קיבל צבע. כי הוא הבין בלנגוויצ'רס ולפי איזה תקן לפרש את הטקסט.

  15. 06:53

    וזה ממש נוח שהוא יודע לתמוך בכל מיני שפות, לדוגמה YAML, XML, שזה תקנים, בשפות תכנות כל מיני כמו C-Sharp, אז ממש נוח, הוא עוזר לי עם הצבעים ומה שהוא יכול.

  16. 07:10

    מה אנחנו עושים עם כל הקובץ הזה? את כל הקובץ הזה אנחנו שומרים תחת שם הדפולטי docker-compose-yaml. עכשיו, אם אנחנו לא נשתמש בשם דפולטי, נצטרך לרשום מינוס F כל פעם.

  17. 07:26

    אז אני עושה פה save, שומר-דסק-טופ wordpress docker-compose-yaml. הנה, שמרנו אותו, זה הקובץ שלנו, זה, זה, זה, זה.

  18. 07:38

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

  19. 08:16

    קונטיינרים אחד db אחד wordpress דאטאבייס שלו מבוסס מ-SQL 5.7, הוא מוסיף לקונטיינר ווליום, שזה אומר קונן קבוע שמחובר לדיסק שלי, לארדיסק שלי.

  20. 08:33

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

  21. 08:46

    הוא אומר dbdata, הקונטיינר הזה, הווליום הזה יהיה מחובר לתוך הקונטיינר לשמה, ריסטארט אולו אולוויז ריסטארט זה אומר כל פעם להפעיל אותו environment משתנה סביבה מה יהיה הסיסמה הסודית הוא מעביר לו משתנה סביבה זוכרים בתוך המערכת ההפעלה

  22. 09:08

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

  23. 09:31

    מה הדאטאבייס? WordPress DB. מה השם של היוזר? וורטפרס, בוא נעשה את זה, וורטפרס יוזר. מה הסיסמה? וורטפרס פסוורד, אם אפס נעשה את זה. וורטפרס פסוורד, זו תהיה הסיסמה.

  24. 10:00

    זה הדברים שאני מגדיר בתוך הדאטאבייס, שיהיה לי איזשהו MySQL יוזר, בוא נקרא לו just a user, ולזה נקרא just password וזה יהיה שם של הדאטאבייס וורדפרס דאטאבייס וזה שם של רוט שימו לב זה יוזר פשוט וזה רוט זה כל מה שהגדרנו בתוך הדאטאבייס וכשאנחנו נמחוק קונטיינר ונקים אותו מחדש כל המידע יישמר בתוך הווליום הזה שימו לב בתוך הווליום בדיסק הפיזי שלי הכל

  25. 10:38

    יישמר אז כל זה למעשה כל זה למעשה זה הקמה של קונטיינר של דאטאבייס זה רק מהsql, הוא לא יודע אם יתחבר אליו. הקמנו מהsql עם איזשהו יוזר פשוט ויוזר שקוראים לו root וdatabase ריק.

  26. 11:01

    שימו לב, זה מקים database ריק. הלאה, הקונטיינר השני נקרא לו wordpress container או סרוויס, זה הקונטיינר השני.

  27. 11:20

    depends on זה מחכה שהזה יעבוד, רק בזמן שהdb הזה יעבוד, רק אחרי שהוא יעבוד יעלה הwordpress. בעצם הוא לא יתחיל את הקונטיינר עד שהוא לא עולה.

  28. 11:34

    איזה אימייג' אנחנו לוקחים? אנחנו לא בונים לבד, אנחנו לוקחים מדוקר-האב וורדפרס לייטסט. איזה פורט פותחים? פורט 8000, ריסטארט אולווייז ואיזה משתנה סביבה?

  29. 11:49

    עכשיו נניח אתם רוצים לקרוא על משהו, סתם מה זה אומר ריסטארט אולווייז? בא לכם לקרוא? אתם הולכים לדוקר קומפוז פייל באתר של דוקר, אתם רואים docker.com/compose/compose-file/compose- file-version-3/reference ואתם פה יכולים לחפש כל מה שאתם רוצים, תראו פה כל ההגדרות בצד נמצאות, לחפש את זה זה הרבה זמן, in a restart ואז אתם יכולים לראות כל,

  30. 12:24

    no is default restart policy and does not restart a container under any circus attempts. בקיצור הוא לא מפעיל אף פעם קונטיינר לבד, אולווייז, אולווייז ריסטארט, קונטיינרס אולווייז ריסטארט, און פיילר, בקיצור יש לכם פה הסברים, און פיילר רק כשיש תקלה וזה.

  31. 12:46

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

  32. 13:01

    ומשתנה סביבה, שימו לב אנחנו בתוך וורדפרס ויש לנו משתנה סביבה אומר לו איפה נמצא sql, שימו לב אנחנו בתוך הקונטיינר אחר, אחרת בתוך הקונטיינר הזה עובד רק אתר אינטרנט אין לו דאטאבייס אז אני אומר לו תקשיב הדאטאבייס שלך נמצא בdb 3306 3306 זה הפורט שלו וdb זה הdb הזה תלך לקונטיינר ההוא ותתחבר לדאטאבייס

  33. 13:31

    שמה עם איזה יוזר אתה מתחבר עם just a user אתם רואים just a user עם איזה פסוורד עם הפסוורד הזה תתחבר ומה השם של הדאטאבייס השם של הדאטאבייס יהיה כזה דבר ואז הוא מתחבר לתוך הדאטאבייס הזה עם היוזר הזה וזהו.

  34. 13:56

    הווליום הזה הוא ברמת סרוויס, הוא בראשי והוא מגדיר באופן כללי שיש לנו כזה ווליום, זה כמו Create Volume Defaulty.

  35. 14:07

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

  36. 14:22

    אז אנחנו עושים פה docker-compose-app ומה זה זה? לא יודע מה זה זה, docker-compose-app ומחכים שהוא יוריד. שימו לב, בפקודה אחת הוא מוריד לי את כל האימייג'ים שצריך, מגדיר אותם ומקים אותם והכל עושה אוטומט.

  37. 14:42

    אני כתבתי רק פקודה אחת, docker-compose-app. זה היופי, שבן אדם יכול להוריד קובץ קומפוז, להריץ אותו והכל ירוץ לו אוטומט בלי שהוא יסתבך

לקורס המלא: קורס Docker עם Swarm Cluster

ההרצאה הקודמת: הסבר על Docker Compose - חלק 2

ההרצאה הבאה: יצירת Docker Image מאפס - ללא בסיס

הרצאות קשורות מקורסים אחרים

  • העלאת אתר Wordpress לאירוח
  • docker
  • הקמת אתר בדארקנט - הרשת האפלה
  • אתר Netcraft

קורסים נוספים במסלול

  • קורס AWS - ניהול מכונה וירטואלית בענן
  • קורס Terraform - DevOps - Azure & AWS
  • קורס קוברנטיקס - Kubernetes
  • קורס DevOps - Ansible
  • קורס PowerShell
  • קורס Git ו-GitHub עם Visual Studio