Nur Hamim
Nur Hamim Anak desa yang gemar berkomunitas, suka menulis dan mencari hal baru seputar Unix/Linux dan Cloud. Saat ini sedang menempuh pendidikan S1 TI di Unindra dan kebetulan bekerja di PT Biznet GIO Nusantara

Docker: Cara Install dan Manajemen MongoDB Menggunakan Docker Container


Docker: Cara Install dan Manajemen MongoDB Menggunakan Docker Container

Belajar Linux ID - Pada tutorial kali ini kita akan membahas bagaimana cara deploy serta manajemen database MongoDB menggunakan docker container.

Seperti yang kita ketahui MongoDB adalah sistem database NoSQL open source yang ditulis dalam C++ yang menyediakan skalabilitas, kinerja/ketersediaan tinggi. Sistem database NoSQL sering disebut sebagai database berorientasi dokumen (Document-oriented).

Persiapan

  • Sudah terinstall Docker di Komputer/Server Anda
  • Basic Docker

Baca Juga:

Tahapan

Tahapan Pertama

Langkah pertama yang harus kita lakukan yaitu mengunduh image MongoDB Community Edition(CE) yang tersedia di Docker Hub menggunakan perintah docker pull

1
root@hamim-lab-belajarlinux:~# docker pull mongo

Image yang di unduh di atas yaitu image yang paling terbaru (latest version) dari MongoDB.

Cek image MongoDB yang sudah di unduh

1
root@hamim-lab-belajarlinux:~# docker images

Tahap Kedua

Langkah selanjutnya Anda dapat membuat container MongoDB dengan images mongoDB yang sudah di unduh sebelumnya, namun sebelum membuat container MongoDB, ada baiknya kita membuat direktori untuk data bernama mongodata untuk menyimpan database dan log MongoDB.

1
root@hamim-lab-belajarlinux:~# mkdir -p /mongodata

Membuat container MongoDB dengan nama container mymongo

1
2
3
root@hamim-lab-belajarlinux:~# docker run -it -v mongodata:/data/db --name mymongo -d mongo
3d8357068554bc3d81742a626d9342fdec1a71632d032f5e9593c798818a4f46
root@hamim-lab-belajarlinux:~#

Pastikan container MongoDB sudah running

1
2
3
4
root@hamim-lab-belajarlinux:~# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS       NAMES
3d8357068554   mongo     "docker-entrypoint.sā€¦"   18 seconds ago   Up 16 seconds   27017/tcp   mymongo
root@hamim-lab-belajarlinux:~#

Untuk melihat log container MongoDB gunakan perintah

1
root@hamim-lab-belajarlinux:~# docker logs mymongo

Tahapn Ketiga

Langkah selanjutnya kita akan login ke dalam container MongoDB dan melakukan administrasi MongoDB seperti membuat user level admin, membuat database MongODB.

Untuk Login ke container MongoDB gunakan perintah

1
2
3
root@hamim-lab-belajarlinux:~# docker exec -it mymongo bash
root@3d8357068554:/#
root@3d8357068554:/#

Pada tutorial ini dibuat MongoDB yang digunakan yaitu versi 6 oleh karena itu untuk login ke shell MongoDB gunakan perintah mongosh sesuai referensi berikut: The mongo shell is removed from MongoDB 6.0. The replacement is mongosh.

1
2
3
4
5
root@3d8357068554:/# mongosh
Current Mongosh Log ID: 63babbeffdd7bf33d967f7d4
Connecting to:          mongodb://127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&appName=mongosh+1.6.1
Using MongoDB:          6.0.3
Using Mongosh:          1.6.1

Selanjutnya kita akan membuat user dengan level admin di MongoDB. Pada saat pertama kali login ke shell MongoDB kita berada di test untuk membuat user, silakan gunakan perintah use admin untuk pindah ke admin di dalam MongoDB shell.

1
2
3
4
5
6
7
8
9
10
11
12
13
test> use admin
switched to db admin
admin>

admin> db.createUser(
... {
... user: "blid",
... pwd: "password123",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]
... }
... )
{ ok: 1 }
admin>

Untuk melihat user level admin yang baru saja kita buat gunakan perintah berikut

1
2
3
4
5
6
7
8
9
10
11
12
13
14
admin>

admin> show users
[
  {
    _id: 'admin.blid',
    userId: new UUID("47cd1fa6-78c8-45cd-8297-10e2b984c671"),
    user: 'blid',
    db: 'admin',
    roles: [ { role: 'userAdminAnyDatabase', db: 'admin' } ],
    mechanisms: [ 'SCRAM-SHA-1', 'SCRAM-SHA-256' ]
  }
]
admin>

Selanjutnya keluar dari shell MongoDB menggunakan perintah quit() dan silakan coba akses MongoDB menggunakan user blid yang baru saja dibuat

1
2
3
4
5
6
root@3d8357068554:/# mongosh -u blid -p --authenticationDatabase admin
Enter password: *********** (Input password)
Current Mongosh Log ID: 63bacc5279bcabcbee77e54a
Connecting to:          mongodb://<credentials>@127.0.0.1:27017/?directConnection=true&serverSelectionTimeoutMS=2000&authSource=admin&appName=mongosh+1.6.1
Using MongoDB:          6.0.3
Using Mongosh:          1.6.1

Selanjutnya kita akan mencoba untuk membuat database di MongoDB. Jalankan perintah show dbs di bawah ini untuk melihat semua database

1
2
3
4
5
admin> show dbs
admin   132.00 KiB
config  108.00 KiB
local    40.00 KiB
admin>

Kemudian, perintah dibawah digunakan untuk membuat database baru dengan nama linux_version

1
2
3
4
5
6
7
8
9
10
11
12
admin> db.linux_version.insertOne(
... { "debian" : "11",
... "ubuntu" : "22.04",
... "rocky linux" : "8.4",
... "alma linux" : "8"
... }
... )
{
  acknowledged: true,
  insertedId: ObjectId("63babf074ef171f140d02662")
}
admin>

Untuk melihat database, gunakan perintah berikut

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
admin> show collections
linux_version
system.users
system.version
admin>

admin> db.linux_version.find().pretty()
[
  {
    _id: ObjectId("63babf074ef171f140d02662"),
    debian: '11',
    ubuntu: '22.04',
    'rocky linux': '8.4',
    'alma linux': '8'
  }
]
admin>

Untuk keluar dari mongoDB shell gunakan perintah quit() dan untuk keluar dari container MongoDB gunaka perintah exit.

Sampai disini Anda sudah berhasil install dan manajemen database MongoDB menggunakan Docker container.

Selamat mencoba šŸ˜

comments powered by Disqus