Tutorial Docker: Membuat Container Database Server MariaDB

Melengkapi tutorial-tutorial best practice Docker di LukmanLAB, disini saya ingin membagikan artikel pendek bagaimana membuat container database server MariaDB pada Docker Engine.

Docker Container MariaDB
Docker Container MariaDB

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 menerima stdin 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 variable MYSQL_ALLOW_EMPTY_PASSWORD dengan nilai yes. 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,

Leave a Reply