Docker - Setting MongoDB

Assalamualaikum, pengguna masa depan Docker dan MongoDB! Saya begitu gembira untuk menjadi panduan anda dalam perjalanan menarik ini ke dunia kontainerisasi dan basis data. Sebagai seseorang yang telah mengajar sains komputer selama tahun, saya dapat katakan bahwa memahami teknologi ini akan membuka peluang baru bagi anda. Jadi, mari kita mulai!

Docker - Setting MongoDB

Memahami Asas

Apa Itu Docker?

Imajinalkan anda pindah ke rumah baru. Daripada membungkus segala-galanya secara berasingan, apa bila anda hanya boleh mengambil seluruh bilik dan meletakkannya di tempat baru? Itu adalah apa yang Docker lakukan kepada aplikasi perisian. Ia memungut segala-galanya yang diperlukan oleh aplikasi untuk berjalan - kod, runtime, alat sistem, pustaka - kedalam kontainer kecil yang rapi.

Apa Itu MongoDB?

Sekarang, bayangkan sebuah lemari fail besar dan fleksibel yang dapat menyimpan pelbagai jenis maklumat dalam bentuk dan saiz yang berbeza. Itu adalah MongoDB dalam bentuk ringkas. Ia adalah basis data yang tidak memaksa data anda ke dalam jadual keras seperti basis data tradisional. Sebaliknya, ia membiarkan data anda bebas, seperti bagaimana anda mungkin menulis catatan di atas kertas.

Menyiapkan Docker

Sebelum kita dapat memulakan pengembaraan MongoDB kita, kita perlu pastikan kapal Docker kita siap untuk berangkat.

Memasang Docker

  1. Pergi ke laman web rasmi Docker (docker.com).
  2. Muat turun versi yang sesuai untuk sistem operasi anda.
  3. Ikuti penyedia pemasangan - ia mudah seperti kue!

Memastikan Pemasangan Docker

Setelah dipasang, mari pastikan segalanya dalam keadaan baik:

docker --version

Jika anda melihat sesuatu seperti Docker version 20.10.14, build a224086, anda berada di tempat yang betul!

Mengambil Imej MongoDB

Sekarang engine Docker kita menyusur, mari kitaambil imej MongoDB.

docker pull mongo

Perintah ini adalah seperti pergi ke pasar Docker dan memilih MongoDB pra-pakej dari rak. Mudah-mudahan!

Menjalankan MongoDB di Dalam Kontainer

Perintah Run Asas

Waktu untuk memberikan nyawa kepada kontainer MongoDB kita:

docker run --name some-mongo -d mongo

Mari kitaongkoskan ini:

  • docker run: Ini memberitahu Docker untuk membuat dan menjalankan kontainer baru.
  • --name some-mongo: Kita memberi nama yang ramah kepada kontainer kita.
  • -d: Ini menjalankan kontainer dalam mode terpisah, yang bermaksud ia menjalankan di latar belakang.
  • mongo: Ini adalah imej yang digunakan untuk membuat kontainer kita.

Perintah Run Lanjut

Untuk mereka yang lebih aventos, ini adalah perintah yang lebih keras dengan beberapa topping ekstra:

docker run --name my-mongo -p 27017:27017 -v /path/on/host:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=password -d mongo

Wah, itu banyak! Mari kitaongkoskan ini:

  • -p 27017:27017: Ini memetakan port 27017 kontainer ke port 27017 hos.
  • -v /path/on/host:/data/db: Ini membuat volume, menghubungkan direktori di hos ke direktori data kontainer.
  • -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=password: Ini menetapkan pembolehubah persekitaran untuk membuat pengguna admin.

Menyambung ke MongoDB

Menggunakan Shell Mongo

Sekarang kontainer MongoDB kita berjalan, mari kita katakan hai:

docker exec -it my-mongo mongo

Perintah ini adalah seperti mengetuk pintu kontainer dan meminta untuk masuk untuk berbicara. Flag -it menjadikan pengalaman interaktif, seperti jika anda menggunakan MongoDB yang dipasang secara langsung di mesin anda.

Menggunakan Klient MongoDB

Untuk mereka yang lebih suka antara muka grafik (karena mari kita承认, kadang-kadang kita semua perlu butang cantik), anda boleh menggunakan klient MongoDB seperti Robo 3T atau MongoDB Compass. Hanya sambung ke localhost:27017, dan anda dalam bisnes!

Operasi MongoDB Asas

Sekarang kita disambung, mari kita main-main sedikit.

Membuat Basis Data

use myAwesomeDB

Ini adalah seperti memberitahu MongoDB, "Hei, saya mahu bekerja di dalam lemari fail baru ini yang dipanggil myAwesomeDB."

Memasukkan Data

db.users.insertOne({name: "John Doe", age: 30, email: "[email protected]"})

Bertimbang seperti memasukkan fail baru ke dalam lemari fail. Kita menambah pengguna ke koleksi users.

Menyaring Data

db.users.find({name: "John Doe"})

Ini adalah seperti meminta MongoDB, "Bolehkah anda mencari semua fail tentang John Doe untuk saya?"

Mengurus Kontainer MongoDB

Menghentikan Kontainer

docker stop my-mongo

Ini adalah seperti memberitahu MongoDB, "Ambil istirahat, kawan. Kita selesai untuk sekarang."

Memulakan Kontainer

docker start my-mongo

Dan ketika anda bersedia untuk kembali bekerja, perintah ini adalah seperti katakan, "Alright, waktu istirahat telah habis. Kita kembali kerja!"

Menghapus Kontainer

docker rm my-mongo

Jika anda memutuskan anda tidak lagi perlu pengaturan MongoDB ini, perintah ini adalah seperti "Terima kasih atas perkhidmatannya, tetapi tijd untuk katakan goodbye."

Jadual Metode MongoDB

Ini adalah jadual praktis bagi beberapa metode MongoDB biasa:

Metode Keterangan
insertOne() Memasukkan satu dokumen ke dalam koleksi
insertMany() Memasukkan beberapa dokumen ke dalam koleksi
find() Menyaring koleksi untuk dokumen
updateOne() Memperbaharui satu dokumen dalam koleksi
updateMany() Memperbaharui beberapa dokumen dalam koleksi
deleteOne() Menghapus satu dokumen dari koleksi
deleteMany() Menghapus beberapa dokumen dari koleksi
aggregate() Melakukan operasi agregasi ke atas koleksi

Kesimpulan

Dan itu lah, teman-teman! Kita telah menjalani pengembaraan asas untuk menetapkan MongoDB dengan Docker, dari mengambil imej hingga menjalankan operasi asas. Ingat, seperti menjalankan kemahiran baru, pengawalan datang dengan latihan. Jangan takut untuk mencuba, merobohkan hal-hal, dan belajar dari proses itu.

Ketika kita tamatkan, saya teringat tentang seorang pelajar yang pernah katakan kepada saya mereka merasa "hilang di laut" ketika memulakan Docker dan MongoDB. Pada akhir kursus, mereka katakan mereka merasa seperti "kapten kapal mereka sendiri." Saya harap panduan ini membantu anda menggambar sendiri lintasan melalui teknologi ini.

Teruslah berkayak, teruslah belajar, dan terutama, bersenang-senang! Dunia basis data kontainerisasi adalah milik anda. Sekarang pergi dan MongoDB dengan Docker seperti seorang pro!

Credits: Image by storyset