MongoDB® หนึ่งในฐานข้อมูล NoSQL ที่เข้าถึงได้มากที่สุด มีตัวเลือกการนำไปใช้งานมากมาย ในโพสต์นี้ ฉันใช้ Docker® เพื่อปรับใช้ MongoDB เป็นคอนเทนเนอร์ และใช้ไคลเอ็นต์เชลล์เพื่อโต้ตอบกับคอนเทนเนอร์นั้น
แนะนำตัว
หลังจากที่คุณติดตั้ง Docker บนคอมพิวเตอร์หรือเซิร์ฟเวอร์ของคุณแล้ว ให้ทำตามขั้นตอนต่อไปนี้เพื่อปรับใช้ MongoDB เป็นคอนเทนเนอร์ Docker:
- ดาวน์โหลดอิมเมจ MongoDB Docker ล่าสุดหรือเฉพาะ
- ปรับใช้อินสแตนซ์ของ MongoDB เป็นคอนเทนเนอร์
- โต้ตอบกับคอนเทนเนอร์ MongoDB Docker กับการทำงานของเชลล์พื้นฐาน
ดาวน์โหลดอิมเมจ MongoDB Docker
หากคุณติดตั้ง Docker บนคอมพิวเตอร์หรือเซิร์ฟเวอร์ คุณสามารถรับ MongoDBimage จากรีจิสตรีคอนเทนเนอร์ Docker Hub อย่าลืมดาวน์โหลดเวอร์ชันภาพเฉพาะที่คุณคาดว่าจะใช้ เช่น mongo:4.0.4 คุณไม่จำเป็นต้องระบุเวอร์ชันของรูปภาพ แต่ถ้าละเว้น คุณจะได้รับเวอร์ชันล่าสุด ซึ่งอาจส่งผลให้ประสบการณ์ใช้งานไม่สอดคล้องกัน เนื่องจาก Mongo สามารถอัปเดตเวอร์ชันล่าสุดได้ตลอดเวลา
กำลังดำเนินการ docker images
คำสั่งแสดงรายการรูปภาพที่พร้อมใช้งานบนเซิร์ฟเวอร์ ในกรณีของเรา มันจะแสดงอิมเมจ MongoDB พร้อมแท็ก 4.0.4 ที่พร้อมใช้งาน
ใช้คำสั่งต่อไปนี้เพื่อดาวน์โหลดอิมเมจ MongoDB และแสดงรายการอิมเมจที่มีอยู่:
# docker pull mongo:4.0.4
# docker images

ปรับใช้อินสแตนซ์ของ MongoDB เป็นคอนเทนเนอร์
เริ่มคอนเทนเนอร์แยก -d
, โหมด. เนื่องจากคอนเทนเนอร์ใช้พื้นที่เก็บข้อมูลชั่วคราว คุณจึงควรเมาต์โวลุ่ม -v
, เพื่อเก็บข้อมูลโดยระบุเส้นทางท้องถิ่น /data/db . เส้นทางนี้เป็นไดเร็กทอรีภายในของคอนเทนเนอร์ การดำเนินการนี้จะเก็บรักษาข้อมูลใน /data/db . ของโฮสต์ เส้นทางแม้ว่าคุณจะหยุดหรือถอดคอนเทนเนอร์ออก ในคำสั่ง คุณระบุชื่อ --name
สำหรับคอนเทนเนอร์ของคุณ ตามด้วยอิมเมจ Docker และแท็ก ในกรณีนี้ ฉันใช้mongo:4.0.4 สำหรับแท็ก คำสั่งส่งคืนสตริงที่มี ID ของคอนเทนเนอร์ นักเทียบท่า ps
คำสั่งแสดงรายการคอนเทนเนอร์ที่ทำงานอยู่
# docker run -d -v /data/db:/data/db --name mymongo mongo:4.0.4
# docker ps

โต้ตอบกับ MongoDB Docker คอนเทนเนอร์กับเชลล์
หากต้องการใช้ประโยชน์จากการใช้งาน MongoDB คุณสามารถโต้ตอบกับฐานข้อมูลได้โดยใช้เชลล์ไคลเอ็นต์
เนื่องจากคุณกำลังเรียกใช้คอนเทนเนอร์ในโหมดแยก คุณควรเชื่อมต่อโดยใช้เทอร์มินัลแบบโต้ตอบ ใช้คำสั่งต่อไปนี้เพื่อเชื่อมต่อกับ yourdeployment ชื่อ mymongo และเริ่ม bash shell:
# docker exec -it mymongo bash

ในการเปิดเชลล์ไคลเอ็นต์ MongoDB ให้รันคำสั่งต่อไปนี้:
# mongo

จากไคลเอ็นต์เชลล์ MongoDB คุณสามารถเข้าถึงฟังก์ชันทั้งหมดที่ระบุไว้ในเอกสารประกอบ MongoDB ตัวอย่างเช่น คุณสามารถดูฐานข้อมูลที่มีอยู่ในอินสแตนซ์ของคุณด้วยคำสั่งต่อไปนี้:
> show dbs

บทสรุป
ในโพสต์นี้ ฉันสร้างคอนเทนเนอร์ MongoDB โดยใช้ Docker กับไดรฟ์ข้อมูลที่แนบมาจากระบบโฮสต์ไปยังคอนเทนเนอร์ ฉันยังแสดงให้คุณเห็นถึงวิธีการเริ่มโต้ตอบกับคอนเทนเนอร์ MongoDB Docker ผ่านเชลล์ โพสต์นำเสนอการสาธิตเบื้องต้นเกี่ยวกับการเรียกใช้อินสแตนซ์ MongoDB ในคอนเทนเนอร์ Docker แต่คุณสามารถใช้อิมเมจ MongoDB เดียวกันเพื่อสร้างคอนเทนเนอร์จำนวนเท่าใดก็ได้ ใช้คอนเทนเนอร์เหล่านั้นเพื่อสร้างชุดแบบจำลองและทำสิ่งต่างๆ มากมายเพื่อสร้างแอปพลิเคชันที่มีคอนเทนเนอร์ที่แข็งแกร่ง
ฉันหวังว่าโพสต์นี้จะช่วยให้คุณมีความเข้าใจทั่วไปเกี่ยวกับวิธีทำให้อินสแตนซ์ aMongoDB ทำงานและเริ่มทำงานได้ภายในไม่กี่นาที
ใช้แท็บคำติชมเพื่อแสดงความคิดเห็นหรือถามคำถาม คุณยังแชทตอนนี้เพื่อเริ่มการสนทนาได้
เรียนรู้เพิ่มเติมเกี่ยวกับบริการฐานข้อมูลของเรา