Running local database on docker.
Somehow I need multiple database service on my local computer.
Created: 2024 July 20
Updated: -
Realitanya saya belum pernah memiliki project yang menggunakan mikroservice, yang dimana setiap service memiliki minimal 1 service database ketika menggunakan mikroservice. Tapi untuk kebutuhan saya pribadi, saya membutuhkan konfigurasi database yang berbeda beda untuk setiap project. Contohnya untuk tunning konfigurasi, migrasi suatu data dari database luar ke dalam atau sebalikan. Dan entah kenapa saya lebih memilih menggunakan mariadb daripada mysql, untuk relational database (RDBMS). Sudah beberapa tahun ini saya menggunakan mariadb sebagai engine database yang saya gunakan disetiap project yang menggunakan relational database.
Di post ini fokus saya untuk menuliskan cara saya menggunakan mariadb di local device saya untuk kebutuhan development.
Sebenarnnya di dokumentasi [ docker hub ] sudah tertulis jelas cara menggunakannya. Tapi disini saya akan tuliskan kembali dan cara saya untuk memulainya.
Jika dirasa anda belum memahami docker atau belum menggunakan docker, lebih baik artikel ini bisa membuat anda tertarik untuk menggunakan docker untuk proses development, riset atau launch production.
Untuk running mariadb di local device sebenarnya hanya membutuhkan 1 command (ketika docker engine sudah terinstall di local device), yaitu:
docker run -d --name DocMariaDB -e MARIADB_ROOT_PASSWORD=password -p 3307:3306 mariadb:latest
Command di atas akan menjalankan docker image mariadb dengan tag "latest". Jika kita jabarkan commandnya
- "docker run": membuat suatu container
- "-d": melakukan detach ketika container berhasil dibuat
- "--name DocMariaDB": container yang dibuat dinamakan "DocMariaDB"
- "-e MARIADB_ROOT_PASSWORD=password": menggunakan environment variable "MARIADB_ROOT_PASSWORD" dengan value "password"
- "-p 3307:3306": melakukan port binding, port local device 3307 akan terbuka untuk port 3306 yang ada di dalam container.
- "mariadb:latest": docker image yang digunakan untuk membuat container adalah "mariadb:latest"
Ketika membuat docker container membutuhkan docker image. Dan di contoh command di atas menggunakan docker image "mariadb:latest". Karena untuk membuat docker container membutuhkan docker image, maka pasti di local device kita membutuhkan docker image tersebut.
Tetapi kita tidak perlu kawatir, ketika docker image belum ada di local device kita, docker engine akan otomatis melakukan download docker image ke local device kita. Tetapi jika anda ingin download docker image terlebih dahulu bisa menggunakan command berikut sebelum menjalankan command diatas.
docker pull mariadb:latest
Sebenarnnya sampai sini, container mariadb akan sudah bisa digunakan. Selanjutkan tinggal melakukan test koneksi ke database di container yang sudah berhasil dibuat. Kalau saya biasanya menggunakan mysql client cli atau dbeaver. Jika menggunakan mysql client cli, command yang bisa saya gunakan adalah
mysql -h localhost -u root -P 3307 -p
Penjelasan command di atas,
- "-h localhost": mysql client cli akan membuka mariadb dengan host localhost
- "-u root": mysql client cli akan menggunakan user root
- "-P 3307": defaultnya mysql/mariadb menggunakan port 3306. karena mariadb ada di dalam container, maka local device tidak akan bisa konek ke mariadb di dalam container tersebut. Jadi saya menggunakan port 3307 karena sudah saya port binding.
- "-p": digunakan untuk memunculkan prompt menginputkan password.
Mungkin begitu saja cerita yang bisa saya sampaikan di artikel ini.
See you next time.
(Beta)
1
Organic Traffic.
(Beta)
0
Link in post.
(Beta)
0
Image in post.