MongoDB adalah database NoSQL open-source yang memanfaatkan dokumen dan skema mirip JSON yang mendukung pengembangan berulang yang cepat. Arsitektur scale-out-nya populer di kalangan pengembang aplikasi yang menggunakan metodologi tangkas untuk bergerak cepat. Karena populer di komunitas tangkas, menggunakan MongoDB dengan Docker adalah pendekatan yang sangat baik untuk integrasi dan pengembangan berkelanjutan (CI/CD) alur kerja.
Sebelum Anda Mulai
Untuk melengkapi contoh dalam panduan ini, pertama-tama siapkan dan amankan Linode dengan Docker terpasang. Anda dapat melakukannya dengan memanfaatkan Aplikasi Docker Marketplace, atau melalui instalasi manual. Petunjuk untuk kedua pendekatan disediakan di bawah ini.
Panduan ini mengasumsikan Anda nyaman dengan antarmuka baris perintah (CLI) pada sistem mirip Unix dan menggunakannya untuk bekerja dengan program.
Menyiapkan Linode dengan Docker
Aplikasi Docker Marketplace
Anda dapat dengan cepat menyiapkan Linode yang diperbarui dan aman dengan Aplikasi Docker Marketplace. Untuk instruksi, lihat panduan kami tentang Cara Menyebarkan Docker dengan Aplikasi Marketplace. Untuk tujuan panduan ini, kami sarankan untuk menggunakan Aplikasi Docker Marketplace dengan Opsi Docker:
- Pengguna sudo terbatas yang akan dibuat untuk Linode
- Kata sandi untuk pengguna sudo terbatas
- Kunci Publik SSH pengguna sudo terbatas yang akan digunakan untuk mengakses Linode
- Nonaktifkan akses root melalui SSH? (ya)
Instalasi Manual
-
Biasakan diri Anda dengan panduan Memulai kami dan selesaikan langkah-langkah untuk memperbarui Linode Anda.
-
Lengkapi bagian Mengamankan Server Anda untuk membuat akun pengguna standar, memperkuat akses SSH, dan menghapus layanan jaringan yang tidak perlu.
-
Instal Docker di Linode Anda dengan mengikuti langkah-langkah dalam panduan kami tentang Cara Menginstal dan Menggunakan Docker di Ubuntu dan Debian.
Verifikasi Instalasi Docker
Verifikasi bahwa Docker diinstal pada Linode Anda:
docker --version
Anda dapat mengharapkan output yang mirip dengan berikut ini:
Docker version 20.10.8, build 3967b7d
CatatanPanduan ini ditulis untuk pengguna non-root. Perintah yang memerlukan hak istimewa yang lebih tinggi diawali dengan
sudo
. Jika Anda tidak terbiasa dengansudo
perintah, kunjungi panduan Pengguna dan Grup kami.Semua file konfigurasi harus diedit dengan hak istimewa yang lebih tinggi. Ingatlah untuk menyertakan
sudo
sebelum menjalankan editor teks Anda.
Cara Memasang Wadah Docker MongoDB
Docker membuat pembuatan gambar MongoDB menjadi sangat mudah, karena mereka menyimpan versi yang dipelihara secara resmi di Docker Hub. Untuk menginstalnya:
-
Unduh dan instal gambar MongoDB dari Docker Hub:
sudo docker pull mongo
Output sebagai unduhan gambar harus seperti berikut:
Using default tag: latest latest: Pulling from library/mongo 16ec32c2132b: Pull complete 6335cf672677: Pull complete cbc70ccc8ebe: Pull complete 0d1a3c6bd417: Pull complete 960f3b9b27d3: Pull complete aff995a136b4: Pull complete 4249be7550a8: Pull complete cc105ff5aa3c: Pull complete 82819807d07a: Pull complete 81447d2c233f: Pull complete Digest: sha256:54d24682d00278f64bf21ff62b7ee62b59dae50f65139831a884b345922b0f8a Status: Downloaded newer image for mongo:latest docker.io/library/mongo:latest
Catatan Perintah ini menarik versi terbaru secara default (seperti yang tertulis di baris pertama output). Untuk menarik versi tertentu, tambahkan tag untuk versi tersebut ke perintah. Misalnya, untuk menginstal MongoDB 4.4.6, masukkan
docker pull mongo:4.4.6
. -
Pastikan gambar telah terpasang:
sudo docker images
Outputnya akan terlihat seperti ini:
REPOSITORY TAG IMAGE ID CREATED SIZE mongo latest 07630e791de3 2 weeks ago 449MB
-
Buat wadah dengan
mongo
gambar dalam mode terpisah sehingga masih interaktif di sistem Anda:sudo docker run --name mongo_example -d mongo
-
Pastikan wadah berjalan:
sudo docker ps
Outputnya akan terlihat seperti ini:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1f88d00b9e78 mongo "docker-entrypoint.s…" 4 seconds ago Up 4 seconds 27017/tcp mongo_example
MongoDB sekarang berjalan sebagai Docker Container.
Cara Masuk ke MongoDB di Wadah
-
Masukkan yang berikut ini untuk mendapatkan bash prompt di dalam wadah:
sudo docker exec -it mongo_example bash
-
Setelah berada di command prompt container, masukkan
mongosh
cangkang:mongosh
Dari mongosh
shell, Anda dapat menguji kueri dan operasi secara langsung dengan database Anda.
Catatanmongo
yang lama shell telah ditinggalkan di MongoDB v5.0, tetapi masih dapat diakses sebagai alternatif untukmongosh
.
Cara Mengonfigurasi MongoDB di Wadah Docker
Untuk detail tentang konfigurasi MongoDB, lihat manual MongoDB. Namun, mongod
(Daemon utama MongoDB) flag biasanya diatur untuk mengonfigurasi MongoDB, dan docker run
perintah dirancang untuk melewati mongod
bendera.
Misalnya untuk mematikan scripting engine, tambahkan flag di akhir perintah seperti berikut:
sudo docker run --name mongo_example2 -d mongo --noscripting
Sebagai contoh lain, untuk mematikan mesin scripting dan menyalakan IPv6, masukkan berikut ini:
sudo docker run --name mongo_example3 -d mongo --noscripting --ipv6
Cara Menyimpan data MongoDB dari Docker Container
Karena MongoDB dijalankan di Docker Container, datanya tidak akan bertahan saat keluar (karena menyimpan data di direktori /data/db di container itu sendiri). Jika Anda memerlukan data MongoDB untuk bertahan, Anda harus membuat dan memasang Volume Docker atau memasang direktori dari sistem host Anda.
Menambahkan Volume Docker ke Wadah MongoDB
Membuat dan menambahkan volume untuk wadah yang akan digunakan sangatlah mudah jika Anda terbiasa dengan Docker.
-
Buat Volume Docker untuk data tempat tinggal dengan memasukkan yang berikut ini:
sudo docker volume create mongo_volume
-
Kemudian buat
docker run
perintah untuk melampirkan volume ke wadah dan memetakannya ke/data/db
direktori kontainer dengan memasukkan:sudo docker run -it -v mongo_volume:/data/db --name mongo_example4 -d mongo
Memasang Direktori Sistem Host di Wadah Docker MongoDB
Jika Anda ingin data tetap ada dan mengakses data di luar Docker, Anda dapat menggunakan direktori di sistem host Anda.
Untuk memasang direktori sistem host:
-
Buat direktori di sistem Anda (jika tidak ada yang ingin Anda gunakan) di tingkat root sistem Anda dengan memasukkan:
sudo mkdir -p /mongo_data_directory
-
Kemudian jalankan
docker run
perintah untuk memasang direktori dan memetakannya ke/data/db
dengan memasukkan:sudo docker run -it -v /mongo_data_directory:/data/db --name mongo_example5 -d mongo
Bacaan Lebih Lanjut
Mempelajari cara menggunakan MongoDB di Docker sangat penting untuk alur kerja CI/CD dan pengembangan berulang yang cepat. Melanjutkan beberapa informasi MongoDB Docker di Docker Hub adalah pendamping yang sangat baik untuk artikel ini.
Untuk mempelajari lebih lanjut tentang mongod
opsi yang akan diteruskan dalam docker run
, tinjau mongod
Bagian Komponen Paket MongoDB dari Manual MongoDB.
Juga, jika Anda berencana untuk meningkatkan ke MongoDB Enterprise, lihat Menginstal MongoDB Enterprise dengan Docker di Manual MongoDB untuk instruksi mongod
.
Informasi Lebih Lanjut
Anda mungkin ingin berkonsultasi dengan sumber daya berikut untuk informasi tambahan tentang topik ini. Meskipun ini disediakan dengan harapan dapat bermanfaat, harap perhatikan bahwa kami tidak dapat menjamin keakuratan atau ketepatan waktu materi yang dihosting secara eksternal.
- MongoDB di Docker Hub