PlusMagi's Blog By Pitt Phunsanit Backend,Cloud Computing,Database การติดตั้ง WordPress 7.1 Workspace บน Docker เชื่อมต่อ Shared Database และ Central Runtime (ติดตั้งอัตโนมัติผ่าน Terminal)

การติดตั้ง WordPress 7.1 Workspace บน Docker เชื่อมต่อ Shared Database และ Central Runtime (ติดตั้งอัตโนมัติผ่าน Terminal)

ในโลกของการพัฒนาเว็บสมัยใหม่ การแยกสภาพแวดล้อม (Workspace Isolation) เป็นสิ่งสำคัญอย่างยิ่ง บทความนี้คือคู่มือเชิงลึกสำหรับนักพัฒนาที่ต้องการติดตั้ง WordPress 7.1 Workspace โดยใช้ Docker Container แยกส่วนออกจาก Central Runtime และ Shared PostgreSQL Database การติดตั้งทั้งหมดจะถูกทำให้เป็นอัตโนมัติผ่านสคริปต์คำสั่งใน Terminal ทำให้คุณได้รับสภาพแวดล้อมที่สะอาด ปลอดภัย และพร้อมใช้งาน 100%

⚙️ ข้อกำหนดเบื้องต้น (Prerequisites)

ก่อนเริ่มกระบวนการติดตั้ง คุณต้องมั่นใจว่า Service พื้นฐานเหล่านี้ทำงานและเข้าถึงได้จากเครือข่ายเดียวกัน:

  • Docker & Docker Compose: ติดตั้งและทำงานได้สมบูรณ์
  • เครือข่าย Docker: ต้องมีการสร้างเครือข่ายหลัก: shared_dev_net
  • Runtime กลาง: ไดเรกทอรีสำหรับ PHP Runtime เวอร์ชันล่าสุด: /Users/common/Docker/php_dev_8_5/
  • Central Database: คอนเทนเนอร์ PostgreSQL หลัก: db_postgres ที่รันอยู่บนพอร์ต 5432

🚀 ขั้นตอนการติดตั้งอัตโนมัติ (Terminal Workflow)

เราจะใช้สคริปต์คำสั่งเดียวเพื่อจัดการการสร้าง Workspace, การแตก Core Files, และการตั้งค่าฐานข้อมูลทั้งหมด:

  1. สร้าง Workspace: สร้างโฟลเดอร์สำหรับ WordPress 7.1 และเชื่อมต่อกับเครือข่าย: mkdir wordpress_app_7_1 && docker network connect shared_dev_net wordpress_app_7_1
  2. Initialize Database: รันคำสั่งเพื่อสร้าง Schema และ User สำหรับ Workspace นี้โดยเฉพาะบน PostgreSQL กลาง:

    SQL

    CREATE USER wp_user_7_1 WITH PASSWORD 'securepass';\CREATE SCHEMA wp_schema_7_1 AUTHORIZATION wp_user_7_1;
    
  3. Deploy Core: ใช้คำสั่ง Docker Compose เพื่อรัน Container และเชื่อมต่อกับ Runtime กลาง พร้อมตั้งค่า Environment Variables ให้ชี้ไปยัง Database ใหม่:

    BASH / Shell

    docker-compose up -d --build --env PGHOST=db_postgres --env PGUSER=wp_user_7_1
    

💡 หลักการทำงานของ PostgreSQL

การใช้ PostgreSQL ในสถาปัตยกรรมนี้ช่วยให้เราสามารถใช้คุณสมบัติ Schema และ Role ได้อย่างเต็มที่ ทำให้แต่ละ Workspace มีขอบเขตข้อมูลที่ชัดเจน (Data Scoping) ไม่ปะปนกัน แม้จะแชร์ฐานข้อมูลหลัก (Shared Database) เดียวกันก็ตาม

ตัวอย่างการตรวจสอบการเชื่อมต่อที่สำเร็จ:

SQL

SELECT current_schema(); -- ควรแสดงชื่อ schema ของ Workspace ปัจจุบัน\SELECT current_user(); -- ควรแสดงชื่อ user ของ Workspace ปัจจุบัน

✅ บทสรุป

ด้วยการใช้ Docker ร่วมกับ PostgreSQL Shared Database และ Central Runtime คุณสามารถสร้างสภาพแวดล้อมการพัฒนา WordPress 7.1 ที่มีประสิทธิภาพสูงได้อย่างรวดเร็วและทำซ้ำได้ (Reproducible) การแยก Workspace ด้วย Schema และ User เฉพาะทำให้มั่นใจได้ว่าโปรเจกต์ต่างๆ จะทำงานได้อย่างอิสระแม้จะแชร์ทรัพยากรพื้นฐานเดียวกัน นี่คือแนวทางที่แนะนำสำหรับทีมพัฒนาขนาดใหญ่ที่ต้องการความยืดหยุ่นและความเสถียรสูงสุดในการทำงานกับระบบ WordPress ขนาดใหญ่

Exit mobile version