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

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

ในฐานะสถาปนิกระบบอาวุโส (Senior Architect) เราเข้าใจถึงความซับซ้อนในการจัดการสภาพแวดล้อมการพัฒนา (Development Environment) ที่ต้องมีการแยกโปรเจกต์ (Workspace) แต่ยังต้องใช้ทรัพยากรพื้นฐาน (Runtime และ Database) ร่วมกัน บทความนี้คือคู่มือเชิงลึกสำหรับการติดตั้ง Laravel 13 Workspace อย่างสมบูรณ์บน Docker โดยใช้ PostgreSQL เป็นฐานข้อมูลกลาง (Shared Database) และใช้ Central Runtime ที่ถูกกำหนดไว้แล้ว

เราจะดำเนินการติดตั้งทั้งหมดผ่าน Terminal 100% เพื่อให้มั่นใจถึงความแม่นยำและลด Human Error โดยไม่ต้องมีการตั้งค่าด้วยตนเองในระดับไฟล์ Config มากเกินไป


🛠️ ข้อกำหนดเบื้องต้น (Prerequisites) สำหรับสถาปัตยกรรม

ก่อนเริ่มการติดตั้งใดๆ โปรดตรวจสอบให้แน่ใจว่าองค์ประกอบพื้นฐานของระบบได้ถูกเตรียมการไว้แล้ว เพื่อให้การเชื่อมต่อระหว่าง Workspace และ Central Resource เป็นไปอย่างราบรื่น:

  • เครือข่าย Docker: ต้องสร้างเครือข่ายสำหรับพัฒนาที่ใช้ร่วมกัน: shared_dev_net
  • ไดเรกทอรี Runtime กลาง: ต้องมี PHP Runtime เวอร์ชั่นที่รองรับ (เช่น PHP 8.5) อยู่ในตำแหน่ง: /Users/common/Docker/php_dev_8_5/
  • คอนเทนเนอร์ PostgreSQL กลาง: คอนเทนเนอร์ db_postgres ต้องรันอยู่บนเครือข่าย shared_dev_net และเปิดพอร์ต 5432

🚀 ขั้นตอนการติดตั้ง Laravel 13 Workspace (Terminal Automation)

เราจะใช้ชุดคำสั่ง Docker Compose และ CLI เพื่อสร้าง Workspace ใหม่และเชื่อมต่อกับทรัพยากรกลางโดยอัตโนมัติ:

1. สร้าง Environment และ Workspace

คำสั่งนี้จะสร้างโครงสร้างโปรเจกต์ใหม่ (laravel_app_13_0/) และกำหนดให้มันเชื่อมต่อกับเครือข่ายและ Runtime กลาง:

BASH / Shell

docker compose run --rm -v /Users/common/Docker/php_dev_8_5:/usr/src/php:latest php artisan workspace:create laravel_app_13_0 --net shared_dev_net

2. กำหนดค่าการเชื่อมต่อ PostgreSQL กลาง

เนื่องจากเราใช้ Database กลาง เราต้องกำหนด Connection String ให้กับ Workspace ใหม่โดยเฉพาะ:

BASH / Shell

docker compose exec laravel_app_13_0 php artisan config:set database.connections.pgsql.host=db_postgres --force

3. รัน Migration และตั้งค่าสิทธิ์

ขั้นตอนสุดท้ายคือการรัน Migration เพื่อสร้างตารางใน PostgreSQL กลาง และตั้งค่าสิทธิ์ที่จำเป็น:

BASH / Shell

docker compose exec laravel_app_13_0 php artisan migrate --database=pgsql

✅ การตรวจสอบความสำเร็จ: หากคำสั่งข้างต้นทำงานสำเร็จ แสดงว่า Laravel 13 Workspace ของคุณได้ถูกติดตั้งและเชื่อมต่อกับ PostgreSQL กลางเรียบร้อยแล้ว คุณสามารถตรวจสอบการเชื่อมต่อโดยการรันคำสั่ง SQL ง่ายๆ:

SQL

SELECT current_database(), current_user();

💡 สรุปและแนวคิดเชิงสถาปัตยกรรม (Conclusion)

การใช้สถาปัตยกรรมแบบ Workspace บน Docker ที่เชื่อมต่อกับ Central Runtime และ Shared Database (PostgreSQL) นี้ ช่วยให้ทีมพัฒนาสามารถทำงานบนโปรเจกต์ที่แยกจากกันได้อย่างสมบูรณ์ แต่ยังคงใช้ทรัพยากรพื้นฐานที่มีประสิทธิภาพสูงและมีการจัดการเวอร์ชันที่ง่ายดาย การติดตั้งอัตโนมัติผ่าน Terminal ทำให้กระบวนการทั้งหมดเป็นไปตามมาตรฐาน CI/CD และลดความซับซ้อนในการจัดการสภาพแวดล้อมได้อย่างมาก