Melengkapi tutorial-tutorial best practice Docker di LukmanLAB, disini saya ingin membagikan artikel pendek bagaimana membuat container database server MariaDB pada Docker Engine.
Dengan menjalankan service (layanan) database server pada sebuah container, menurut saya lebih efektif diterapkan pada localhost / lingkungan development, maupun server development anda.
Kenapa demikian? Jadi, jika MariaDB/MySQL kita isolasi didalam container tersendiri untuk menjalankan layanan database server maka kita dengan mudah melakukan manajemen, backup/restore maupun proses lainya .
Berikut Langkah-langkah Membuat Container Database Server MariaDB:
Agar proses berjalan dengan lancar, pastikan pada laptop anda sudah terinstal Docker Engine. Jangan lupa, pastikan koneksi internet cukup stabil agar proses pulling / download image berjalan lancar.
1. Download Image MariaDB
Yang perlu kita lakukan pertama adalah mengunduh image dasar / base MariaDB.
docker pull mariadb
2. Buat dan Start Container MariaDB
Perhatikan command berikut:
docker run -itd --name dbserver -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mariadb
Pernjelasan singkat proses create dan start container Docker:
docker run
: Proses create (membuat) + start container.-itd
:i
(interactive),t
(tty),d
(detached) artinya container-nya nanti bisa menerimastdin
tty
dari user dan dijalankan secara detach (running in-background process).--name dbserver
: Memberikan nama container dengan nama dbserver.-p 3306:3306
: Publish / expose port container ke port localhost. Port depan [host] : Port belakang [container].-e MYSQL_ALLOW_EMPTY_PASSWORD=yes
: Memberikan nilai environment variableMYSQL_ALLOW_EMPTY_PASSWORD
dengan nilaiyes
. Opsi env ini untuk membuat database bisa diakses tanpa password.mariadb
: Nama image yang dipakai untuk membuat container.
Jika ingin membuat database server mariadb dalam pengaksesanya perlu password bisa menggunakan opsi -e MYSQL_ROOT_PASSWORD=Password
. Lengkapnya baca disini.
Tips agar Database tersimpan aman didalam folder host / server ketika container dihapus:
mkdir dbdata docker run -itd --name dbmaria -p 3306:3306 -v $(pwd)/dbdata:/var/lib/mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes mariadb
Nah, dibagian ini ada opsi -v
, silahkan pelajari sendiri ya. Hhe… Disini.
Verifikasi apakah database server sudah bisa diakses?
➜ mysql -u root -h 127.0.0.1 -P 3306 Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 8 Server version: 5.5.5-10.4.13-MariaDB-1:10.4.13+maria~focal mariadb.org binary distribution Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
Salam,
Admin LUKMANLAB, DevOps Engineer, Site Reliability Engineer, System Administrator.