ตอนนี้หลายๆท่านคงเริ่มคุ้นเคยหรือเคยทดลองใช้ docker กันมาบ้างแล้ว วันนี้ผมจะลองเอา docker มาทดสอบลง odoo แบบง่ายๆ โดยการเขียนผ่าน docker-compose กันครับ
เริ่มแรกในเครื่องต้องลงโปรแกรม docker ไว้ให้เรียบร้อยก่อนนะครับ หลังจากนั้น ปกติถ้าเราลง odoo แบบ docker image ซึ่งจะมีให้ใช้อยู่หลายๆตัวที่ docker -hub รวมถึงของทาง odoo ซึ่งเป็น official เอง แต่ผมพบว่าการลงแบบนั้นมันจะมีข้อจำกัดอยู่หลายอย่าง เช่น การ install library บางตัว การเพิ่ม font thai ลงไป หรือแม้แต่การ ทำ folder สำหรับ addons ของตัวเอง ก็ไม่ค่อยสะดวกเท่าไหร่ ทางแก้ที่ผมทำคือนำเอา odoo มาลงผ่าน docker-compose ครับ มันได้ดังใจจริงๆนะ :) มาลองทำกันดูครับ
สร้าง folder ที่จะเก็บไฟล์ทั้งหมดไว้ก่อนครับ
cd odoo-compose-test
สร้าง folder สำหรับเก็บ addons และ config ตามนี้ครับ
mkdir addons
mkdir config
สร้างไฟล์ Dockerfile และ docker-compose.yml ไว้ใน folder odoo-compose-test
ตามโครงสร้างนี้นะครับ (แนะนำทำบน vscode จะสะดวกมากๆหรือใช้ editor ที่ท่านถนัดก็ได้ครับ) ส่วนผมถนัด vscode :)
นำเอา module ที่ต้องการใช้กับ odoo ของเราเองมาวางไว้ใต้ folder
addons ส่วน ไฟล์ config ที่ต้องการเรียกใช้นำมาวางไว้ใต้ folder config ถ้าจะมีการลง library และ font เพิ่มขึ้น ก็นำมาวางไว้ดังรูป ตำแหน่งสัมพันธ์กับที่ระบุไว้ใน Dockerfile นะครับ (สามารถสร้าง folder แยกได้แต่ผมเอาแบบง่ายๆ )
มาดูโครงสร้างของไฟล์แต่ละตัวกันครับ
Dockerfile
docker-compose
odoo config
odoo.conf
odoo-server.conf
จากนั้นสั่งให้ docker ทำงาน ผ่าน command line
docker-compose up รอสักพัก จะเห็น odoo ติดตั้งพร้อมใช้งาน
สำหรับ linux,osx เข้าผ่าน 0.0.0.0:8069 ได้เลย ส่วนตระกูลวินโดส์ให้เข้าผ่าน
localhost:8069 ครับ
หมายเหตุ
สำหรับ docker บนวินโดส์เมื่อสั่งทำงานมันจะขอให้ทำการแชร์ drive ที่จะใช้งาน docker image อย่าลืมทำให้เรียบก่อนนะครับไม่งั้นจะเรียก docker-compose ไม่ผ่านครับ โชคดีทุกท่านครับ หากมีข้อสงสัยก็มาพูดคุยกันได้ครับ