MongoDB ialah pangkalan data NoSQL sumber terbuka popular yang direka untuk menyimpan dan mengurus data tidak berstruktur. Ia menyediakan prestasi tinggi, skalabiliti dan fleksibiliti untuk aplikasi moden.
Docker, sebaliknya, ialah platform kontena yang membolehkan pembangun membungkus aplikasi dan kebergantungan mereka ke dalam bekas mudah alih yang berjalan secara konsisten merentasi persekitaran yang berbeza. Ia memudahkan proses penghantaran perisian dengan menyediakan persekitaran masa jalan yang ringan dan terpencil untuk aplikasi.
Sebelum menyediakan MongoDB, adalah sangat penting untuk memasang Docker pada komputer tempatan anda. Docker ialah platform kontena yang membolehkan anda membungkus dan mengedarkan aplikasi dengan cara mudah alih. Ia menyediakan antara muka yang mudah digunakan untuk membina, menjalankan dan mengurus bekas.
Untuk memasang Docker, mula-mula lawati tapak web Docker rasmi dan muat turun versi yang sesuai untuk sistem pengendalian anda. Setelah dimuat turun, ikut arahan pemasangan yang disediakan oleh pemasang.
Langkah seterusnya ialah mendapatkan imej MongoDB daripada Docker Hub. Ini adalah proses mudah yang boleh dilakukan dalam tetingkap terminal menggunakan arahan mudah.
Untuk melakukan ini, jalankan "docker pull mongo" di terminal. Ini akan memuat turun versi stabil terkini MongoDB daripada Docker Hub ke dalam cache imej tempatan.
Sekarang kami telah memuat turun imej MongoDB secara tempatan, kami boleh menggunakan imej itu untuk mencipta bekas dengan konfigurasi khusus seperti pemajuan port dan pemetaan volum. Berikut ialah contoh arahan yang akan mencipta bekas -
bash docker run --name mongodb -p 27017:27017 -v /data:/data/db -d mongo
Arahan ini mencipta bekas baharu bernama "mongodb". Bendera "-p" memetakan port hos 27017 ke port kontena 27017, membolehkan kami mengakses MongoDB dari luar bekas.
Bendera "-v" mencipta volum dalam direktori "/data" hos yang dipetakan ke direktori "/data/db" di dalam bekas. Ini membolehkan data MongoDB kami kekal walaupun bekas dimulakan semula atau dimusnahkan.
Bendera “-d” memberitahu Docker untuk menjalankan bekas dalam mod tertanggal, bermakna ia akan berjalan di latar belakang dan tidak dilampirkan pada tetingkap terminal. Selepas menjalankan arahan ini, anda boleh menggunakan "docker ps" untuk menyemak sama ada bekas sedang berjalan.
Langkah pertama dalam mengkonfigurasi bekas MongoDB ialah menetapkan pembolehubah persekitaran yang mentakrifkan pelbagai pilihan konfigurasi. Pembolehubah persekitaran ini membolehkan anda menentukan tetapan seperti nama pengguna dan kata laluan pengguna akar, nama pangkalan data dan enjin storan.
Secara lalai, semua data yang disimpan dalam bekas Docker hilang apabila bekas itu dipadamkan atau dicipta semula. Untuk memastikan data MongoDB anda berterusan walaupun bekas dipadamkan atau dicipta semula, anda boleh melekapkan volum daripada mesin hos ke dalam bekas MongoDB.
Untuk melakukan ini, anda perlu menentukan titik lekap kelantangan semasa melancarkan bekas dengan pilihan -v, diikuti dengan laluan pada mesin tempatan anda dan laluan lain pada imej docker, iaitu /data/db . Ini akan mencipta fail dalam folder /data/db dalam sistem fail imej mongodb, tetapi sebenarnya disimpan pada mesin tempatan.
Secara lalai, port yang terdedah oleh bekas hanya boleh diakses dari dalam ruang nama rangkaiannya sendiri. Untuk membenarkan akses luaran kepada contoh MongoDB kami, kami perlu mendedahkannya di luar rangkaian Docker dengan memetakannya dengan nombor port hos.
Untuk melakukan ini, semasa melancarkan contoh mongodb, tambahkan pilihan -p pada arahan docker run, diikuti dengan nombor port mesin tempatan dan port yang didedahkan oleh mesin sasaran, iaitu 27017:27017. Ini akan membolehkan kami menggunakan MongoClient untuk menyambung ke contoh mongodb yang berjalan di dalam bekas pada localhost dan nombor port 27017.
Docker Compose ialah alat yang disediakan oleh Docker yang membolehkan pembangun mentakrif dan mengurus aplikasi berbilang bekas. Ia memudahkan proses mengurus berbilang bekas dengan membenarkan pembangun mengisytiharkan semua perkhidmatan yang diperlukan oleh aplikasi mereka dalam satu fail yang dipanggil docker-compose.yml.
Fail ini mengandungi maklumat tentang setiap bekas individu dalam aplikasi, serta butiran tentang cara ia bersambung dan berjalan bersama-sama. Manfaat utama menggunakan Docker Compose ialah ia membolehkan pembangun melancarkan persekitaran aplikasi yang kompleks dengan mudah dengan satu arahan.
Untuk mencipta aplikasi berbilang bekas menggunakan Docker Compose, anda perlu menentukan setiap bekas dan parameter konfigurasinya dalam fail docker-compose.yml. Fail ini menggunakan sintaks YAML untuk menentukan nama setiap bekas, sebarang pembolehubah persekitaran yang diperlukan, tetapan rangkaian, volum yang harus dipasang ke dalam bekas dan sebarang kebergantungan antara bekas. Sebagai contoh, jika anda ingin menggunakan Docker Compose untuk menjalankan MongoDB dan pelayan aplikasi anda dalam persekitaran Docker, anda perlu mencipta dua definisi perkhidmatan yang berasingan dalam docker-compose.yml: satu untuk MongoDB dan satu lagi untuk pelayan aplikasi anda .
Apabila menggunakan MongoDB menggunakan Docker, adalah sangat penting untuk memastikan keselamatan data yang disimpan dalam pangkalan data. Satu cara untuk mencapai matlamat ini ialah dengan menyediakan mekanisme pengesahan dan kebenaran.
Secara lalai, MongoDB tidak memerlukan pengesahan, yang bermaksud sesiapa sahaja yang mempunyai akses kepada pelayan boleh mengakses semua data yang disimpan dalam pangkalan data. Untuk menyediakan pengesahan, anda membuat akaun pengguna yang nama pengguna dan kata laluannya mesti disediakan sebelum mengakses pangkalan data.
Memantau metrik prestasi ialah amalan penting apabila menggunakan sebarang aplikasi dalam persekitaran pengeluaran. Apabila menggunakan contoh MongoDB menggunakan Docker, terdapat beberapa alat yang boleh membantu memantau metrik prestasi seperti penggunaan CPU, penggunaan memori, penggunaan I/O cakera dan trafik rangkaian.
Menganalisis log ialah satu lagi amalan penting apabila menggunakan Docker untuk mengurus MongoDB. Log memberikan pandangan tentang tingkah laku pangkalan data dan membantu mengenal pasti isu yang mungkin memberi kesan kepada prestasi. Adalah penting untuk mengkonfigurasi tetapan pengelogan untuk bekas MongoDB dan Docker untuk mengumpul data yang mencukupi untuk mendiagnosis isu yang berpotensi.
Apabila mengendalikan mana-mana sistem gred pengeluaran, sandaran data adalah penting. Untuk MongoDB yang digunakan menggunakan Docker, sandaran tetap harus dilakukan untuk memastikan data tidak hilang sekiranya berlaku kegagalan perkakasan atau isu lain.
Sandaran hendaklah disimpan di lokasi yang selamat jauh dari persekitaran pengeluaran. Satu cara untuk menyandarkan contoh MongoDB yang berjalan dalam bekas Docker ialah menggunakan alat baris arahan mongodump yang disediakan oleh MongoDB.
Adalah juga penting untuk mengkonfigurasi volum untuk kegigihan data, mendedahkan port untuk akses luaran dan menggunakan fail docker-compose.yml untuk mengurus berbilang bekas dengan berkesan. Penskalaan menggunakan mod Swarm juga merupakan cara terbaik untuk memastikan ketersediaan dan fleksibiliti yang tinggi apabila bekerja dengan jumlah data yang besar.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan dan mengurus MongoDB menggunakan Docker?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!