GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Siapkan MongoDB di Docker

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

  1. Biasakan diri Anda dengan panduan Memulai kami dan selesaikan langkah-langkah untuk memperbarui Linode Anda.

  2. Lengkapi bagian Mengamankan Server Anda untuk membuat akun pengguna standar, memperkuat akses SSH, dan menghapus layanan jaringan yang tidak perlu.

  3. 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
Catatan

Panduan ini ditulis untuk pengguna non-root. Perintah yang memerlukan hak istimewa yang lebih tinggi diawali dengan sudo . Jika Anda tidak terbiasa dengan sudo 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:

  1. 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 .
  2. 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
  3. Buat wadah dengan mongo gambar dalam mode terpisah sehingga masih interaktif di sistem Anda:

    sudo docker run --name mongo_example -d mongo
    
  4. 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

  1. Masukkan yang berikut ini untuk mendapatkan bash prompt di dalam wadah:

    sudo docker exec -it mongo_example bash
    
  2. Setelah berada di command prompt container, masukkan mongosh cangkang:

    mongosh
    

Dari mongosh shell, Anda dapat menguji kueri dan operasi secara langsung dengan database Anda.

Catatan mongo yang lama shell telah ditinggalkan di MongoDB v5.0, tetapi masih dapat diakses sebagai alternatif untuk mongosh .

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.

  1. Buat Volume Docker untuk data tempat tinggal dengan memasukkan yang berikut ini:

    sudo docker volume create mongo_volume
    
  2. 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:

  1. 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
    
  2. 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

Docker
  1. Buruh pelabuhan

  2. Panduan Lengkap Pemula untuk Docker Logging

  3. Hentikan Set Replika MongoDB

  1. Pengantar Docker

  2. Panduan Lengkap untuk Self-hosting Rocket.Chat Dengan Docker

  3. Cara Mengatur Akses Jarak Jauh ke Docker Daemon

  1. Cara Mengatur dan Menggunakan Registri Docker Pribadi

  2. Tutorial Kontainer Docker MySQL:Cara Mengatur &Mengonfigurasi

  3. Cara Menyebarkan dan Mengelola MongoDB dengan Docker