Menu

Tuesday, September 17, 2019

[Laravel - Laradock] ข้อควรระวัง: การใช้ Laradock สำหรับการรันหลายโปรเจค จะทำให้ data folder ของแต่ละโปรเจคทับกัน ถ้าตั้งค่า env ไม่ถูกต้อง
[Laravel - Laradock] Warning: Using Laradock for Many Projects will Use the Same Data Folder if Set env Incorrect

เวลาที่เรา build และ run container ของ Laradock จะมีการสร้าง folder สำหรับเก็บข้อมูลของ Laradock ที่ path ~/.laradock/data ซึ่งเป็นค่าตั้งต้นใน env-example

Folder นี้จะเก็บข้อมูล data ของ mysql, redis และอื่นๆที่จำเป็นไว้

ถ้าหากเราใช้ Laradock ในการรันโปรเจคมากกว่า 1 โปรเจค โดยไม่แก้ไข path ดังกล่าว จะทำให้ทุกโปรเจคใช้งาน data folder ที่ path เดียวกัน

แน่นอน!!! มันจะเกิดข้อผิดพลาดขึ้นแน่นอน...

สมมติว่า โปรเจคนั้นๆใช้ mysql container ของ Laradock เป็น database

สิ่งที่ต้องเจอแน่ๆเลย คือ ข้อมูลหาย!!! เพราะ data ของโปรเจคนึงไปทับของอีกโปรเจคนึง

วิธีการป้องกัน คือ แก้ไขไฟล์ .env ใน Laradock ดังนี้
# Choose storage path on your machine. For all storage systems

DATA_PATH_HOST=~/.laradock/{project_name}
โดยที่ {project_name} เป็นชื่อของโปรเจคที่จะรันโดย Laradock

No comments:

Post a Comment