אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • קבלו עדכונים במייל
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג’אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • קבלו עדכונים במייל
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג’אווהסקריפט
ראשי » מדריכים » docker » כניסה לתוך קונטיינר דוקר ובדיקה אם יש בעיות

כניסה לתוך קונטיינר דוקר ובדיקה אם יש בעיות

רן בר-זיק דצמבר 9, 2018 7:07 am 4 תגובות

איך נכנסים לקונטיינר שרץ עם docker compose? ולמה? במאמר הזה אני מסביר עם php error log

המאמר הקודם על דוקרוורדפרס על docker
המאמר הבא על דוקרעבודה עם WP CLI יחד עם דוקר
כדאי תמיד להשאר מעודכנים! הרשמו לעדכונים של האתר במייל! - המייל יישלח כל יום ראשון בעשר בבוקר ויכיל אך ורק את המאמרים שהתפרסמו באינטרנט ישראל. ללא ספאם, ללא הצפות, ללא בלגנים. אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט. הפרויקט הוא הפרויקט הספרותי המוביל בהדסטארט. בשיתוף הקריה האקדמית אונו.

במאמר הקודם למדנו איך באמצעות docker compose יוצרים סביבות מורכבות. במקרה שלנו: וורדפרס. וורדפרס היא סביבה שמורכבת משני קונטיינרים. הראשון הוא של המכונה המריצה את השרת עם קבצי ה-PHP והשני הוא של המכונה שמריצה את ה-MySQL. שתיהן עובדות ומסונכרות ביחד באמצעות docker compose. שתיהן יחיו לנצח גם אם נוריד/נעלה את הקונטיינרים כי חיברנו אותן אל המחשב המארח באמצעות:

    # Keep your data
    volumes: 
      - ./site:/var/www/html/

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

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

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

docker-compose exec wordpress bash

ברגע שהקלדנו את זה, אנחנו בקונטיינר שרץ ב-docker-compose. אנחנו לא ב’חלונות’ או במערכת המארחת אלא בתוך לינוקס מלא. עכשיו אנחנו צריכים “לדבר” לינוקסית. לא כזה מסובך. ראשית, נתקין nano. עורך טקסטואלי לינוקסאי.

apt-get update && apt-get install nano

בגלל שאנחנו root, אין צורך להקליד sudo.

זה השלב שבו אנחנו צריכים ליצור php.ini שבו יש הנחיות ליצירת לוג שגיאות והדפסתו. נכנס אל היכן שהוא אמור להיות:

cd /usr/local/etc/php

ניצור ונערוך אותו באמצעות:

nano php.ini

ונקליד בתוכו את הטקסט הבא:

log_errors = On
error_log = /tmp/error.log

הדבר הבא הוא ליצור את קובץ הלוג /tmp/error.log ואת זה עושים כך:

touch /tmp/error.log && chmod 777 /tmp/error.log

זהו! הכל מוכן! עכשיו נבצע ריסטרט לשרת. אנחנו חייבים לעשות את זה כי שינינו את קובץ ה-php.ini. 

/etc/init.d/apache2 restart

ברגע שאנחנו מקלידים את זה, אנו “עפים” מהמכונה. נכנס שוב אליה באמצעות:

docker-compose exec wordpress bash

ועכשיו כדי לראות את לוג השגיאות של PHP אנו יכולים פשוט להקליד:

tail -f /tmp/error.log

וזהו, מהרגע הזה כל שגיאה תראה על המסך.

root@7e31fcb20bb1:/var/www/html# tail -f /tmp/error.log
[01-Dec-2018 20:59:09 UTC] PHP Parse error:  syntax error, unexpected 'cllllccaaaa111AH' (T_STRING) in /var/www/html/wp-content/themes/nirvana/header.php on line 3
לוג שגיאות של PHP

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

כדאי תמיד להשאר מעודכנים! הרשמו לעדכונים של האתר במייל! - המייל יישלח כל יום ראשון בעשר בבוקר ויכיל אך ורק את המאמרים שהתפרסמו באינטרנט ישראל. ללא ספאם, ללא הצפות, ללא בלגנים. אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט. הפרויקט הוא הפרויקט הספרותי המוביל בהדסטארט. בשיתוף הקריה האקדמית אונו.
המדריך על דוקר
docker וורדפרס

4 תגובות

  1. נחשון הגב דצמבר 9, 2018 בשעה 9:06 am

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

    • רן בר-זיק הגב דצמבר 9, 2018 בשעה 12:03 pm

      הערה חשובה. וזה נכון לגמרי.

  2. שולי מועלם הגב דצמבר 9, 2018 בשעה 11:52 am

    Chmod 777
    :O
    למה לתת הרשאות כאלו לקובץ השגיאות? לא חשוף מדי?

    • רן בר-זיק הגב דצמבר 9, 2018 בשעה 12:02 pm

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

השארת תגובה ל-רן בר-זיק

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

    בחשבון הטוויטר שלי אני מפרסם עדכונים מהירים על חדשות בתחום התכנות והיזמות, התרעות על מצבי חירום ורכילות בוערת על תחום הווב.
    מה זה טוויטר?
  • facebook like image

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

העדכונים נשלחים אך ורק כאשר האתר מתעדכן.

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

גלילה לראש העמוד