עבודה עם WP CLI יחד עם דוקר

להפעיל אתר וורדפרס עם docker compose ולתפעל אותו עם wp-cli. הכי פשוט בעולם.

אני מאמין שאין צורך להכיר את wp-cli למפתחי וורדפרס. מדובר ב-ה-כלי בה"א הידיעה לכל מה שקשור לפיתוח וורדפרס מקצועי. במקום לעדכן/להתקין/לערוך דברים באמצעות הממשק הגרפי – עושים את הכל באמצעות wp cli. אם מפעילים אוטומציות של בדיקות בוורדפרס (וכן, כדאי מאוד שתבדקו את הקוד שאתם כותבים לוורדפרס) אז wp cli הוא חיוני.

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

version: '3.1'

services:

  wordpress:
    image: wordpress
    restart: always
    ports:
      - 8080:80
    environment:
      WORDPRESS_DB_HOST: db
      WORDPRESS_DB_USER: exampleuser
      WORDPRESS_DB_PASSWORD: examplepass
      WORDPRESS_DB_NAME: exampledb
    # Keep your data
    volumes: 
      - ./site:/var/www/html/
  
  cli:
    image: wordpress:cli
    volumes:
      - ./site:/var/www/html/

  db:
    image: mysql:5.7
    restart: always
    environment:
      MYSQL_DATABASE: exampledb
      MYSQL_USER: exampleuser
      MYSQL_PASSWORD: examplepass
      MYSQL_RANDOM_ROOT_PASSWORD: '1'
    # Keep your data
    volumes: 
      - ./db:/var/lib/mysql

אם זה נראה לכם כמו סינית, כדאי לחזור לכל המאמרים על docker-compose שנכתבו באתר. אבל מי שכן קרא את המאמרים האחרונים, יראה שהשוני העיקרי הוא קונטיינר נוסף שנקרא cli:

  cli:
    image: wordpress:cli
    volumes:
      - ./site:/var/www/html/

אחרי שנשמור את קובץ ה-docker-compose כמקובל בתיקיה ונריץ אותו עם:

docker-compose up -d

נוכל, מיד אחרי שהאתר עולה וזמים לנו ב-IP של המכונה עם הפורט 8080, לכתוב:

docker-compose run --rm cli bash

מייד נגיע אל קונטיינר שבו יש wp cli והוא מחובר למכונה שלנו. כל מה שעלינו לעשות זה לנווט אל התיקיה שבה נמצא הוורדפרס (שהיא מפורטת ב-docker-compose) ולהפעיל את ה-wp-cli:

cd /var/www/html/
הפעלה של wp cli אחרי שביצענו docker compose
הפעלה של wp cli באמצעות דוקר. קל ופשוט.

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

פוסטים נוספים שכדאי לקרוא

בינה מלאכותית

Safeguards על מודל שפה גדול (LLM)

פוסט בשילוב עם פודקאסט וסרטון על ההגנות שאפשר להציב על LLM בסביבת פרודקשן

תמונה מצוירת של רובוט שמנקה HTML
יסודות בתכנות

סניטציה – למה זה חשוב

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

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