MySQL dengan menggunakan Docker Container akan memudahkan anda untuk memilih dan mengubah versi RDBMS anda tanpa harus meng-install RDBMS anda secara langsung pada mesin server anda. Menghindari konflik secara langsung ketika anda meng-update versi dari RDBMS lama anda, ke versi yang baru atau versi lain tanpa harus khawatir konflik port, maupun konflik konfigurasi.
Tahap-tahap untuk meng-install MySQL pada Docker Container yaitu menyiapkan Docker volume MySQL, instalasi MySQL Docker Container dengan Composer, dan Pengecekan Container MySQL Dengan MySQL Workbench.
1. Menyiapkan Docker Volume MySQL
Docker Volume adalah tempat kita menyimpan data dari MySQL kita agar data kita tetap ada walaupun Docker Container kita sudah kita ubah atau kita hapus. Sebenarnya ada beberapa opsi untuk menyimpan data MySQL anda, anda dapat melihatnya pada Dokumentasi Docker. Langusng saja untuk membuat Docker Volume lakukan perintah
docker volume create main-mysql
Setelah itu anda dapat melihat volume yang telah anda buat dengan perintah
docker volume ls
Jika nama volume yang telah anda buat muncul pada layar, maka anda dapat melanjutkan ke proses selanjutnya.
DRIVER VOLUME NAME
local main-mysql
2. Instalasi MySQL Docker Container dengan Composer
Docker Container untuk MySQL dapat anda temukan pada MySQL Docker Hub. Anda dapat melihat versi-versi yang dapat anda gunakan. Namun saat ini kita akan menggunakan versi yang paling terbaru. Untuk memulai suatu Docker Container MySQL sebenarnya cukup mudah,
docker run -p --name main-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql
Dengan perintah di atas, anda bisa langsung dapat membuat MySQL Container yang langsung dapat anda akses dengan mengakses 127.0.0.1 port 3306. Namun dengan cara tersebut kita belum mengatur konfigurasi volume dan port yang akan kita ubah agar sesuai dengan standar yang akan kita tentukan. Oleh karena itu, kita akan menggunakan Docker Compose file untuk menyimpan konfigurasi MySQL Container. Pertama-tama buatlah berkas dan folder yang akan anda gunakan untuk menyimpan Compose file,
mkdir ~/main-docker-compose
cd ~/main-docker-compose
Setelah itu, buat docker-compose file MySQL dalam folder tersebut
nano docker-compose-main-mysql.yml
Kemudian isi Docker Compose dengan konfigurasi berikut
version: '3.1'
services:
main-mysql:
image: mysql
command: --default-authentication-plugin=mysql_native_password
restart: always
ports:
- "3306:3306"
volumes:
- main-mysql:/var/lib/mysql
environment:
MYSQL_ROOT_PASSWORD: password-mysql-anda
MYSQL_ROOT_HOST: '%'
networks:
default:
name: main-network
external: true
volumes:
main-mysql:
external: true
Simpan berkas tersebut, kemudian aktifkan Docker Container dengan Docker Compose dengan perintah,
docker compose -f docker-compose-main-mysql.yml up -d
Setelah itu anda sudah dapat masuk ke Container MySQL dengan username “root” dan password sesuai dengan password “root” anda. Anda dapat masuk secara langsung ke Container MySQL anda untuk melakukan konfigurasi dengan perintah “docker exec“. Namun, untuk menggunakan perintah ini, anda harus mengetahui nama Container MySQL yang anda buat menggunakan perintah,
docker container ls
Kemudian lihat nama Container MySQL yang barus anda lihat,
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ae8e009a3151 mysql "docker-entrypoint.s…" 3 hours ago Up 3 hours 33060/tcp, 0.0.0.0:3309->3306/tcp main-docker-compose-main-mysql-1
75ed65225c98 trafex/php-nginx "/usr/bin/supervisor…" 3 days ago Up 3 days (healthy) 0.0.0.0:8000->8080/tcp charming_shockley
Setelah mengetahui nama Container MySQL anda, masuk ke dalam Container tersebut dengan perintah,
docker exec -it main-docker-compose-main-mysql-1 bash
Setelah berhasil masuk pada Container MySQL, anda dapat melakukan konfigurasi MySQL. Atau anda dapat masuk ke MySQL pada Container tersebut dengan
mysql -u root
Setelah selesai melakukan konfigurasi dan pengaturan yang anda butuhkan, anda dapat keluar dari dalam MySQL maupun Container dengan perintah “exit“. Langkah selanjutnya kita akan mencoba mengakses MySQL dengan MySQL WorkBench(anda dapat mengunduhnya di sini https://www.mysql.com/products/workbench/)
3. Pengecekan Container MySQL Dengan MySQL Workbench
Setelah anda meng-install MySQL Workbench. Masukkan port dari Container MySQL yang telah anda buat. Jika anda tidak mengubah port yang anda buat, masukkan 3306. Untuk host, masukkan “localhost“.
Kemudian masukkan “Test Connection“. Setelah itu anda diharuskan memasukkan password anda. Jika koneksi anda berhasil, makan akan memunculkan pesan.
Artinya MySQL anda siap digunakan dan sudah berjalan. Anda dapat masuk ke dalam MySQL Instance tersebut menggunakan MySQL WorkBench untuk mengatur Basis Data yang terdapat di dalamnya.
Selamat, MySQL anda sudah dapat berjalan dalam bentuk Docker Container. Langkah selanjutnya adalah, kita akan menggunakan PhpMyAdmin di dalam Docker Container untuk mengelola MySQL anda.