MongoDB® เป็นหนึ่งในฐานข้อมูล NoSQL ที่เข้าถึงง่ายที่สุด มีตัวเลือกการปรับใช้หลายแบบ ในโพสต์นี้ ผมใช้ Docker® เพื่อปรับใช้ MongoDB เป็น Container และใช้ Shell Client เพื่อโต้ตอบกับ Container นั้น
บทนำ
หลังจากที่คุณติดตั้ง Docker บนคอมพิวเตอร์หรือเซิร์ฟเวอร์แล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อปรับใช้ MongoDB เป็น Docker Container:
- ดาวน์โหลด Docker Image ของ MongoDB รุ่นล่าสุดหรือรุ่นเฉพาะเจาะจง
- ปรับใช้ Instance ของ MongoDB เป็น Container
- โต้ตอบกับ MongoDB Docker Container ด้วยการดำเนินการ Shell พื้นฐาน
ดาวน์โหลด Docker Image ของ MongoDB
หากคุณติดตั้ง Docker บนคอมพิวเตอร์หรือเซิร์ฟเวอร์แล้ว คุณสามารถรับ Image ของ MongoDB จาก Docker Hub Container Registry โปรดดาวน์โหลดเวอร์ชัน Image เฉพาะที่คุณคาดหวังจะใช้ เช่น mongo:4.0.4 คุณไม่จำเป็นต้องระบุเวอร์ชัน Image แต่หากคุณละเว้น คุณจะได้รุ่นล่าสุด ซึ่งอาจทำให้ประสบการณ์ไม่สอดคล้องกัน เพราะ Mongo อาจอัปเดตรุ่นล่าสุดได้ทุกเมื่อ
การรันคำสั่ง docker images จะให้รายการ Images ที่มีอยู่บนเซิร์ฟเวอร์ ในกรณีของเรา แสดง Image MongoDB พร้อม Tag 4.0.4 พร้อมใช้งาน
ใช้คำสั่งต่อไปนี้เพื่อดาวน์โหลด Image MongoDB และแสดงรายการ Images ที่มีอยู่:
# docker pull mongo:4.0.4 # docker images
ปรับใช้ Instance ของ MongoDB เป็น Container
เริ่ม Container ในโหมด Detached -d เนื่องจาก Container ใช้ Ephemeral Storage คุณควร Mount Volume -v เพื่อรักษาข้อมูลโดยระบุ Local Path /data/db Path นี้คือไดเรกทอรีภายในของ Container การกระทำนี้จะเก็บรักษาข้อมูลบน Path /data/db ของ Host แม้คุณจะหยุดหรือลบ Container คำสั่งคืน String พร้อม ID ของ Container คำสั่ง Docker ps แสดงรายการ Container ที่กำลังทำงาน
# docker run -d -v /data/db:/data/db --name mymongo mongo:4.0.4 # docker ps
โต้ตอบกับ MongoDB Docker Container ด้วย Shell
เพื่อใช้ประโยชน์จากการปรับใช้ MongoDB ที่ทำงานได้ คุณสามารถโต้ตอบกับฐานข้อมูลโดยใช้ Shell Client
เนื่องจากคุณกำลังรัน Container ในโหมด Detached คุณควรเชื่อมต่อโดยใช้ Interactive Terminal ใช้คำสั่งต่อไปนี้เพื่อเชื่อมต่อกับการปรับใช้ของคุณ ชื่อ mymongo และเริ่ม Bash Shell:
# docker exec -it mymongo bash
เพื่อเปิด MongoDB Shell Client ให้รันคำสั่งต่อไปนี้:
# mongo
จาก MongoDB Shell Client คุณสามารถเข้าถึงฟังก์ชันทั้งหมดที่ระบุในเอกสาร MongoDB ตัวอย่างเช่น คุณสามารถดูว่ามีฐานข้อมูลใดบ้างใน Instance ของคุณด้วยคำสั่งต่อไปนี้:
> show dbs
สรุป
ในโพสต์นี้ ผมสร้าง MongoDB Container โดยใช้ Docker พร้อม Storage Volume ที่แนบมาจากระบบ Host ไปยัง Container ผมยังแสดงวิธีเริ่มโต้ตอบกับ MongoDB Docker Container ผ่าน Shell โพสต์นี้เสนอการสาธิตพื้นฐานของการรัน Instance ของ MongoDB ใน Docker Container แต่คุณสามารถใช้ Image MongoDB เดียวกันเพื่อสร้าง Container ได้หลายตัว ใช้ Container เหล่านั้นเพื่อสร้าง Replica Sets และทำอะไรมากขึ้นเพื่อสร้างแอปพลิเคชันที่ Containerized และทนทาน
หวังว่าโพสต์นี้จะช่วยให้คุณเข้าใจโดยรวมวิธีทำให้ Instance ของ MongoDB ทำงานและเริ่มทำงานกับมันได้ในไม่กี่นาที
ใช้แท็บ Feedback เพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังสามารถแชทได้ทันทีเพื่อเริ่มการสนทนา
เรียนรู้เพิ่มเติมเกี่ยวกับบริการฐานข้อมูลของเรา