GNU/Linux >> Belajar Linux >  >> Ubuntu

Tutorial Kontainer Docker MySQL:Cara Mengatur &Mengonfigurasi

Pendahuluan

MySQL adalah sistem manajemen basis data relasional sumber terbuka yang terkenal dan salah satu solusi server web paling populer. Ini menyimpan dan menyusun data dengan cara yang berarti, memastikan aksesibilitas yang mudah.

Buruh galangan adalah seperangkat produk platform sebagai layanan yang mendukung pengembangan CI/CD. Ini memungkinkan pengguna untuk mengembangkan dan menyebarkan aplikasi di dalam lingkungan virtual, yang disebut wadah. Dengan satu image, Docker dapat mem-boot aplikasi dengan semua library dan dependensinya.

Dalam tutorial ini, pelajari cara men-deploy container MySQL Docker dan mulai bekerja dengan database containerized.

Prasyarat

  • Akses ke baris perintah/jendela terminal
  • Akun pengguna dengan sudo hak istimewa atau akses ke root akun
  • Instalasi Docker yang sudah ada

Menjalankan Kontainer Docker MySQL

Jika Anda perlu menyiapkan database dengan cepat dan tanpa menggunakan terlalu banyak sumber daya, menyebarkan MySQL dalam sebuah wadah merupakan solusi yang cepat dan efisien. Ini hanya cocok untuk aplikasi berukuran kecil dan menengah. Aplikasi tingkat perusahaan tidak akan menemukan penampung Docker MySQL cukup untuk beban kerja mereka.

Menggunakan perangkat lunak Docker untuk menyiapkan database Anda menjadi semakin populer untuk aplikasi skala kecil. Alih-alih memiliki server terpisah untuk hosting basis data, Anda dapat menggunakan wadah basis data MySQL.

Beberapa kontainer dapat berjalan di komputer Anda. Wadah berbagi kernel dan pustaka host yang sama saat mengemas aplikasi atau perangkat lunak yang digunakan ke dalam satu unit. Hal ini membuat database menjadi sangat ringan dan cepat untuk dijalankan.

Memasang Kontainer Docker MySQL

Menyiapkan database di Docker hanyalah membangun wadah berdasarkan gambar MySQL. Ikuti langkah-langkah yang diuraikan di bawah ini untuk mengaktifkan dan menjalankan penampung MySQL Anda.

Langkah 1:Tarik Gambar MySQL Docker

1. Mulailah dengan menarik gambar Docker yang sesuai untuk MySQL. Anda dapat mengunduh versi tertentu atau memilih rilis terbaru seperti yang terlihat pada perintah berikut:

sudo docker pull mysql/mysql-server:latest

Jika Anda menginginkan versi MySQL tertentu, ganti latest dengan nomor versi.

2. Verifikasi gambar sekarang disimpan secara lokal dengan mencantumkan gambar Docker yang diunduh:

sudo docker images

Output harus menyertakan mysql/mysql-server di antara gambar yang terdaftar.

Langkah 2:Terapkan Penampung MySQL

1. Setelah Anda memiliki gambarnya, lanjutkan ke penerapan wadah MySQL baru dengan:

sudo docker run --name=[container_name] -d [image_tag_name]
  • Ganti [container_name] dengan nama pilihan Anda. Jika Anda tidak memberikan nama, Docker akan membuat nama secara acak.
  • -d option menginstruksikan Docker untuk menjalankan container sebagai layanan di latar belakang.
  • Ganti [image_tag_name] dengan nama gambar yang diunduh pada Langkah 1.

Dalam contoh ini, kami membuat wadah bernama mysql_docker dengan latest tag versi:

sudo docker run --name=[container_name] -d mysql/mysql-server:latest

2. Kemudian, periksa untuk melihat apakah wadah MySQL sedang berjalan:

docker ps

Anda akan melihat wadah yang baru dibuat terdaftar di output. Ini termasuk detail wadah, salah satunya adalah status lingkungan virtual ini. Status berubah dari health: starting untuk healthy , setelah penyiapan selesai.

Langkah 3:Hubungkan ke MySQL Docker Container

1. Sebelum Anda dapat menghubungkan wadah server MySQL dengan host, Anda harus memastikan paket klien MySQL telah diinstal:

apt-get install mysql-client

2. Kemudian, buka file log untuk wadah MySQL untuk menemukan kata sandi root yang dihasilkan:

sudo docker logs [container_name]

Untuk mysql_docker wadah, kami menjalankan:

sudo docker logs mysql_docker

3. Gulir melalui output dan temukan baris [Entrypoint] GENERATED ROOT PASSWORD :, salin dan tempel kata sandi di notepad atau editor teks agar Anda dapat menggunakannya nanti.

4. Selanjutnya, buka bash shell dari wadah MySQL dengan mengetik:

sudo docker exec -it [container_name] bash

Untuk wadah yang dibuat sebagai contoh, kami menjalankan:

sudo docker -it mysql_docker bash

3. Berikan kata sandi root yang Anda salin dari file log, saat diminta. Dengan itu, Anda telah menghubungkan klien MySQL ke server.

4. Terakhir, ubah kata sandi root server untuk melindungi informasi Anda:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '[newpassword]';

Ganti [newpassword] dengan kata sandi pilihan Anda yang kuat.

Konfigurasi Penampung MySQL

Saat Anda menginstal wadah MySQL, Anda akan menemukan opsi konfigurasinya di /etc/mysql/my.cnf= direktori.

Jika Anda perlu mengubah konfigurasi, buat file konfigurasi alternatif di mesin host dan pasang di dalam wadah.

1. Pertama, buat direktori baru di mesin host:

sudo mkdir -p /root/docker/[container_name]/conf.d

2. Buat file konfigurasi MySQL khusus di dalam direktori itu:

sudo nano /root/docker/[container_name]/conf.d/my-custom.cnf

3. Setelah di dalam file, Anda dapat menambahkan baris dengan konfigurasi yang diinginkan.

Misalnya, jika Anda ingin menambah jumlah koneksi maksimum menjadi 250 (bukan default 151), tambahkan baris berikut ke file konfigurasi:

[mysqld]
max_connections=250

4. Simpan dan keluar dari file.

5. Agar perubahan terjadi, Anda perlu menghapus dan menjalankan kembali penampung MySQL . Kali ini, container menggunakan kombinasi pengaturan konfigurasi dari file yang baru dibuat dan file konfigurasi default.

Untuk melakukannya, jalankan container dan petakan jalur volume dengan perintah:

docker run \
--detach \
--name=[container_name] \
--env="MYSQL_ROOT_PASSWORD=[my_password]" \
--publish 6603:3306 \
--volume=/root/docker/[container_name]/conf.d:/etc/mysql/conf.d \
mysql

6. Untuk memeriksa apakah container memuat konfigurasi dari host, jalankan perintah berikut:

mysql -uroot -pmypassword -h127.0.0.1 -P6603 -e 'show global variables like "max_connections"';

Anda akan melihat bahwa jumlah koneksi maksimum sekarang 250 .

Kelola Penyimpanan Data

Secara default, Docker menyimpan data dalam volume internalnya.

Untuk memeriksa lokasi volume, gunakan perintah:

sudo docker inspect [container_name]

Anda akan melihat /var/lib/mysql dipasang di volume internal.

Anda juga dapat mengubah lokasi direktori data dan buat satu di host. Memiliki volume di luar wadah memungkinkan aplikasi dan alat lain mengakses volume saat dibutuhkan.

1. Pertama, temukan volume yang sesuai pada host dan buat direktori data di dalamnya:

sudo mkdir -p /storage/docker/mysql-data

2. Sekarang jalankan container lagi, mount direktori yang dibuat sebelumnya:

docker run \
--detach \
--name=[container_name] \
--env="MYSQL_ROOT_PASSWORD=my_password" \
--publish 6603:3306 \
--volume=/root/docker/[container_name]/conf.d:/etc/mysql/conf.d \
--volume=/storage/docker/mysql-data:/var/lib/mysql \
mysql

Jika Anda memeriksa wadah, Anda akan melihat bahwa wadah MySQL sekarang menyimpan datanya di sistem host. Jalankan perintah:

sudo docker inspect [container_name]

Mulai, Hentikan, dan Mulai Ulang Penampung MySQL

Wadah secara otomatis berhenti ketika proses yang berjalan di dalamnya berhenti.

Untuk memulai penampung MySQL jalankan:

sudo docker start [container_name]

Hentikan penampung MySQL , gunakan perintah:

sudo docker stop [container_name]

Untuk memulai ulang penampung MySQL jalankan:

sudo docker restart [container_name]

Hapus Penampung MySQL

Sebelum menghapus penampung MySQL, pastikan Anda menghentikannya terlebih dahulu.

Kemudian, keluarkan wadah buruh pelabuhan dengan:

sudo docker rm [container_name]

Ubuntu
  1. Cara Menjalankan MySQL di Docker Container:Panduan Sederhana dan Mudah Diikuti

  2. Cara Menginstal dan Mengatur mysql 8 di Ubuntu 20.04

  3. Cara Menjalankan MySQL Dalam Wadah Docker

  1. Cara SSH Ke Wadah Docker

  2. Cara Menetapkan IP Statis ke Wadah Docker

  3. Cara Menginstal Vim di Wadah Docker

  1. Cara Mengatur &Mengonfigurasi ModSecurity di Apache

  2. Cara Keluar dari Kontainer Docker

  3. Cara Membuat Wadah Docker MySQL untuk Pengujian