
สำหรับผู้เริ่มต้นใช้งาน docker ที่ต้องการตั้งค่า laravel ให้สามารถรันได้กับ docker ทำได้ง่าย ๆ โดยใช้ laradock ที่ถูกสร้างมาเพื่อการนี้โดยเฉพาะเลย ซึ่งผมได้สร้างโปรเจค laravel และตั้งค่าใช้งาน laradock ไว้แล้วที่ https://github.com/savepong/laravel-docker สามารถ git clone เอาพัฒนาต่อได้เลยครับ ส่วนถ้าใครอยากทำเองตั้งแต่ต้นก็ทำตามบรรทัดด้านล่างนี้ได้เลยครับ
ก่อนเริ่มต้น
ให้ดูทรัพยากรใช้เครื่องของเราด้วยว่าได้รัน service พวก apache, nginx, mysql ผ่าน port ปกติ เช่น 8080, 3306 ไว้รึเปล่า ถ้าถูกใช้ port ที่ว่าไว้อยู่แล้ว แนะนำว่าใช้ stop service พวกนี้ไปก่อน จะได้ไม่ชนกับ port ที่เรากำลังจะรันจาก docker ครับ หรือไม่ก็ตั้งค่าให้ docker ไปรัน service ที่ port อื่นแทนครับ
ติดตั้ง Laradock
สร้าง laravel โปรเจค
laravel new my-project
clone laradock มาไว้ใน directory ของโปรเจค
git clone https://github.com/Laradock/laradock.git
เข้าไปยัง directory ที่ชื่อว่า laradock จากนั้น ทำการคัดลอก env-example แล้วเปลี่ยนชื่อเป็น .env
cd laradock
cp env-example .env
ตั้งค่า .env จากค่าเริ่มต้นของ laradock
DB_CONNECTION=mysql
DB_HOST=mariadb #IP ของ host ถ้าเราใช้ mysql container ก็ใส่ mysql แทน
DB_PORT=3306
DB_DATABASE=defaul
DB_USERNAME=root
DB_PASSWORD=root
ใช้งาน Laradock
สร้าง container จากไฟล์ docker-compose.yml
docker-compose up -d nginx mariadb workspace
ถ้าขึ้น success ก็เปิด http://localhost ดูผลลัพธ์ได้เลย
ตั้งค่าเพิ่มเติม
ssh ไปยัง docker container ที่ชื่อว่า workspace
docker-compose exec --user laradock workspace bash
ติดตั้งแพคเกจต่างเพิ่มของ Laravel ด้วยคำสั่ง
composer install
php artisan key:generate
php artisan migrate
หากเราต้องการเชคสถานะสามารถทำได้โดย
docker ps