Docker

Sediakan pelayan MongoDB dengan Docker

Sediakan pelayan MongoDB dengan Docker
Dalam artikel ini, saya akan menunjukkan kepada anda cara menggunakan Docker Compose untuk membuat wadah MongoDB dan mengaksesnya menggunakan Mongo Express, antara muka pentadbir MongoDB berasaskan web. Oleh itu, mari kita mulakan.

Keperluan:

Untuk mengikuti artikel ini, anda mesti memasang Docker di komputer anda. LinuxHint mempunyai banyak artikel yang boleh anda ikuti untuk memasang Docker pada edaran Linux yang anda inginkan jika anda belum memasangnya. Oleh itu, pastikan anda menyemak LinuxHint.sekiranya anda menghadapi masalah memasang Docker.

Memasang Docker Compose:

Untuk memasang Docker Compose, buka Terminal dan jalankan arahan berikut:

$ sudo curl -L "https: // github.com / docker / mengarang / melepaskan / memuat turun / 1.24.1 /
docker-compose - $ (uname -s) - $ (uname -m) "-o / usr / local / bin / docker-compose

CURL harus mula memuat turun Docker Compose binary. Mungkin diperlukan sedikit masa untuk diselesaikan.

Setelah muat turun selesai, tambahkan kebenaran yang boleh dilaksanakan ke dok-tulis fail binari dengan arahan berikut:

$ sudo chmod + x / usr / local / bin / docker-compose

Sekarang, periksa sama ada dok-tulis binari boleh diakses dengan arahan berikut:

$ docker-compose --versi

Seperti yang anda lihat, dok-tulis binari berfungsi dengan betul.

Menyiapkan MongoDB Server menggunakan Docker Compose:

Pada bahagian ini, saya akan menunjukkan kepada anda persediaan MongoDB dan Mongo Express yang sangat asas menggunakan Docker Composer.

Pertama, buat direktori projek baru mongo-terkini / seperti berikut:

$ mkdir mongo-terkini

Sekarang, arahkan ke mongo-terkini / direktori seperti berikut:

$ cd mongo-terkini /

Sekarang, buat fail konfigurasi Docker Compose yang baru dok-tulis.yml seperti berikut:

$ nano docker-compose.yml

Sekarang, ketik baris kod berikut dalam fail dok-tulis.yml.

versi: '3'
perkhidmatan:
mongo:
gambar: mongo
mulakan semula: selalu
pelabuhan:
- "27017: 27017"
 
mongo-express:
gambar: mongo-express
mulakan semula: selalu
pelabuhan:
- "8081: 8081"

Di sini, kami menentukan dua perkhidmatan, mongo dan mongo-express. The mongo perkhidmatan bertanggungjawab untuk memulakan mongo (gambar) Bekas dok. The mongo Port kontena Docker 27017 diteruskan ke pelabuhan 27017 pada hos Docker anda. The mongo-express perkhidmatan bertanggungjawab untuk memulakan mongo-express (gambar) Bekas dok. Dengan cara yang sama, pelabuhan 8081 dihantar ke pelabuhan 8081 pada hos Docker.

Kedua-dua perkhidmatan ditetapkan untuk dimulakan semula (mulakan semula: selalu) atas kegagalan.

Sekarang, simpan fail dengan menekan + X diikuti oleh Y dan .

Sekarang, untuk memulakan perkhidmatan MongoDB dan Mongo Express, jalankan arahan berikut:

$ docker-compose up -d

Sekiranya anda menjalankan perintah ini untuk pertama kalinya, mungkin memerlukan sedikit masa untuk memulakan perkhidmatan kerana gambar Docker akan dimuat turun dari Docker Hub.

Perkhidmatan harus bermula.

Sekarang, dari penyemak imbas web, lawati http: // localhost: 8081 dan antara muka web Mongo Express harus dipaparkan seperti yang anda lihat dalam tangkapan skrin di bawah. Dari sini, anda boleh menguruskan pangkalan data MongoDB, menambah data ke pangkalan data dan banyak lagi.

Menyiapkan Kata Laluan Pangkalan Data MongoDB:

Sekiranya anda ingin menyediakan kata laluan pangkalan data MongoDB, maka bahagian ini sesuai untuk anda.

Pertama, hentikan perkhidmatan MongoDB dan Mongo Express seperti berikut:

$ docker-mengarang

Sekarang, edit dok-tulis.yml fail seperti berikut:

$ nano docker-compose.yml

Sekarang, tambahkan teks bertanda (tebal) di bawah ke fail konfigurasi dok-tulis.yml.

versi: '3'
perkhidmatan:
mongo:
gambar: mongo
mulakan semula: selalu
pelabuhan:
- "27017: 27017"
persekitaran:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: rahsia
mongo-express:
gambar: mongo-express
mulakan semula: selalu
pelabuhan:
- "8081: 8081"
persekitaran:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: rahsia

The MONGO_INITDB_ROOT_USERNAME: root dan MONGO_INITDB_ROOT_PASSWORD: rahsia di dalam mongo bahagian perkhidmatan digunakan untuk menetapkan nama pengguna MongoDB akar dan kata laluan rahsia.

The ME_CONFIG_MONGODB_ADMINUSERNAME: root dan ME_CONFIG_MONGODB_ADMINPASSWORD: rahsia di dalam mongo-express bahagian perkhidmatan digunakan untuk memberitahu Mongo Express untuk menggunakan nama pengguna akar dan kata laluan rahsia untuk menyambung ke pelayan MongoDB.

Fail konfigurasi akhir.

Sekarang, mulakan perkhidmatan seperti berikut:

$ docker-compose up -d

Seperti yang anda lihat, saya masih boleh mengakses antara muka web Mongo Express.

Saya menukar mongo-express kata laluan kepada sesuatu yang lain daripada rahsia, dan seperti yang anda lihat, saya tidak dapat menyambung ke pelayan MongoDB. Jadi, semuanya berjalan seperti yang diharapkan.

Menyimpan Data MongoDB Menggunakan Isipadu:

Secara lalai, bekas MongoDB tidak menyimpan sebarang data. Sekiranya anda mahu data pangkalan data MongoDB anda berterusan, anda harus menggunakan jumlah Docker. Saya akan menunjukkan kepada anda bagaimana di bahagian ini.

Pertama, hentikan perkhidmatan seperti berikut:

$ docker-mengarang

Sekarang, tambahkan bahagian bertanda (tebal) ke dok-tulis.yml fail.

versi: '3'
perkhidmatan:
mongo:
gambar: mongo
mulakan semula: selalu
pelabuhan:
- "27017: 27017"
persekitaran:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: rahsia
jilid:
- mongo-data: / data / db
 
mongo-express:
gambar: mongo-express
mulakan semula: selalu
pelabuhan:
- "8081: 8081"
persekitaran:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: rahsia
jilid:
data mongo:

Di sini, saya menentukan jilid bernama baru data mongo yang menyimpan data dari jalan / data / db daripada mongo bekas.

Fail konfigurasi akhir.

Sekarang, mulakan perkhidmatan seperti berikut:

$ docker-compose up -d

Seperti yang anda lihat, antara muka web Mongo Express berfungsi dengan betul.

Saya membuat pangkalan data baru mydb.

Sekarang, mulakan semula perkhidmatan seperti berikut:

mulakan semula $ docker-compose

Seperti yang anda lihat, walaupun selepas memulakan semula mongo (MongoDB) dan mongo-express (Mongo Express) perkhidmatan mydb pangkalan data masih ada. Jadi, ia berjaya.

Menukar Nama Kontena MongoDB:

Secara lalai, nama perkhidmatan pangkalan data MongoDB seharusnya mongo agar Mongo Express berfungsi. Tetapi, jika anda ingin menukar nama perkhidmatan pangkalan data kepada yang lain seperti pelayan mongodb, maka anda perlu memberitahu mongo-express perkhidmatan yang telah anda ubah mongo nama perkhidmatan kepada yang lain.

Pertama, hentikan perkhidmatan seperti berikut:

$ docker-mengarang

Sekarang, ubah / tambahkan teks bertanda di dok-tulis.yml fail konfigurasi.

versi: '3'
perkhidmatan:
pelayan mongodb:
gambar: mongo
mulakan semula: selalu
pelabuhan:
- "27017: 27017"
persekitaran:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: rahsia
jilid:
- mongo-data: / data / db
 
mongo-express:
gambar: mongo-express
mulakan semula: selalu
pelabuhan:
- "8081: 8081"
persekitaran:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: rahsia
ME_CONFIG_MONGODB_SERVER: pelayan mongodb
jilid:
data mongo:

Di sini, ME_CONFIG_MONGODB_SERVER: pelayan mongodb digunakan untuk memberitahu mongo-express perkhidmatan bahawa mongo nama perkhidmatan ditukar menjadi pelayan mongodb.

Fail konfigurasi akhir.

Sekarang, mulakan perkhidmatan seperti berikut:

$ docker-compose up -d

Seperti yang anda lihat, antara muka web Mongo Express masih berfungsi.

Menetapkan Kata Laluan Akses Ekspres Mongo:

Secara lalai, antara muka pentadbir Mongo Express tidak meminta anda maklumat log masuk. Tetapi jika anda ingin menetapkan kaedah pengesahan nama pengguna dan kata laluan, maka bahagian ini sesuai untuk anda.

Pertama, hentikan perkhidmatan seperti berikut:

$ docker-mengarang

Sekarang, tambahkan teks bertanda (tebal) ke dok-tulis.yml fail konfigurasi.

versi: '3'
perkhidmatan:
mongo:
gambar: mongo
mulakan semula: selalu
pelabuhan:
- "27017: 27017"
persekitaran:
MONGO_INITDB_ROOT_USERNAME: root
MONGO_INITDB_ROOT_PASSWORD: rahsia
jilid:
- mongo-data: / data / db
 
mongo-express:
gambar: mongo-express
mulakan semula: selalu
pelabuhan:
- "8081: 8081"
persekitaran:
ME_CONFIG_MONGODB_ADMINUSERNAME: root
ME_CONFIG_MONGODB_ADMINPASSWORD: rahsia
ME_CONFIG_BASICAUTH_USERNAME: pentadbir
ME_CONFIG_BASICAUTH_PASSWORD: rahsia
jilid:
data mongo:

Di sini, ME_CONFIG_BASICAUTH_USERNAME: pentadbir dan ME_CONFIG_BASICAUTH_PASSWORD: rahsia digunakan untuk memberitahu mongo-express perkhidmatan untuk menggunakan nama pengguna pentadbir dan kata laluan rahsia untuk pengesahan.

Fail konfigurasi akhir.

Sekarang, mulakan perkhidmatan seperti berikut:

$ docker-compose up -d

Sekarang, jika anda cuba mengunjungi halaman Mongo Express, anda akan diminta untuk mengesahkan menggunakan nama pengguna dan kata laluan anda.

Sekiranya anda memberikan nama pengguna dan kata laluan yang betul, anda akan dibenarkan menggunakan Mongo Express untuk menguruskan pangkalan data MongoDB anda.

Rujukan:

Untuk maklumat lebih lanjut, periksa pautan berikut:
[1] Halaman rasmi Docker Hub mongo
[2] Halaman Hub Docker rasmi mongo-express

Jadi, itulah cara anda menyediakan pelayan MongoDB menggunakan Docker. Terima kasih kerana membaca artikel ini.

Cara Menunjukkan Overlay OSD dalam Aplikasi dan Permainan Linux Skrin Penuh
Bermain permainan skrin penuh atau menggunakan aplikasi dalam mod skrin penuh bebas gangguan dapat memisahkan anda dari maklumat sistem yang relevan y...
5 Kad Tangkap Permainan Teratas
Kita semua telah melihat dan menyukai streaming permainan permainan di YouTube. PewDiePie, Jakesepticye, dan Markiplier hanyalah beberapa pemain terat...
Cara Membangunkan Permainan di Linux
Satu dekad yang lalu, tidak banyak pengguna Linux akan meramalkan bahawa sistem operasi kegemaran mereka suatu hari nanti akan menjadi platform permai...