GNU/Linux >> Belajar Linux >  >> Panels >> Docker

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

Panduan ini menjelaskan langkah demi langkah cara menyiapkan server MySQL baru yang berjalan di wadah Docker hanya dalam beberapa menit.

Salah satu hal hebat tentang Docker adalah bagaimana Anda dapat menggunakannya dengan cepat untuk mencoba aplikasi tanpa menginstalnya langsung di mesin Anda. Misalnya, Anda dapat menggunakan Docker untuk menjalankan database dalam wadah sebagai server jarak jauh dan menguji bagaimana aplikasi Anda berinteraksi dengannya.

Menjalankan MySQL dengan wadah Docker adalah mekanisme yang banyak digunakan. MySQL adalah salah satu database paling populer yang digunakan dengan container Docker.

Untuk membuat MySQL sebagai wadah Docker, mesin host harus sudah menginstal Docker. Jika Anda belum menginstalnya, berikut adalah panduan langkah demi langkah untuk menginstal Docker di Ubuntu.

1. Tarik Gambar MySQL Docker

Hal pertama yang harus Anda lakukan untuk membuat dan menguji server MySQL di Docker adalah menarik image resmi MySQL dari Docker Hub.

Anda dapat mengunduh versi tertentu seperti 8.0, 5.7, 5.6, atau memilih rilis terbaru seperti yang terlihat pada perintah berikut:

sudo docker pull mysql:latest

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

Anda dapat menjalankan docker images perintah untuk melihat daftar image Docker yang telah Anda tarik dari Docker Hub.

sudo docker images
REPOSITORY   TAG       IMAGE ID       CREATED        SIZE
mysql        latest    2fe463762680   13 hours ago   514MB

Seperti yang Anda lihat, image MySQL sekarang tersedia untuk Docker yang diinstal secara lokal.

2. Menyiapkan Volume Docker

Seperti yang Anda ketahui, container Docker pada prinsipnya bersifat sementara, dan data atau konfigurasi apa pun diperkirakan akan hilang jika container dihapus.

Volume Docker, bagaimanapun, menyediakan mekanisme untuk mempertahankan data yang dibuat di dalam wadah Docker. Oleh karena itu, mereka adalah mekanisme pilihan Docker untuk menyimpan data persisten dari container Docker.

MySQL menyimpan file datanya di /var/lib/mysql direktori. Jadi sebelum menerapkan, Anda harus mengatur volume Docker untuk mempertahankan database Anda. Jika tidak, data Anda akan hilang saat penampung dimulai ulang.

Mari buat volume baru dan beri nama mysql-data . Ini akan digunakan untuk menyimpan semua informasi database Anda.

sudo docker volume create mysql-data

Anda dapat membuat daftar semua volume yang diketahui Docker dengan mengeluarkan perintah di bawah ini:

sudo docker volume ls
DRIVER    VOLUME NAME
local     mysql-data

Seperti yang Anda lihat, volume Docker kami yang baru dibuat bernama mysql-data ada di sini dan siap menyajikan data. Kemudian dapat dilampirkan ke wadah MySQL yang baru saja diputar.

3. Jalankan Penampung Docker MySQL

Sekarang setelah Anda memiliki image MySQL Docker di mesin Anda dan volume untuk menyimpan data, Anda dapat menggunakan container. Anda juga harus mengatur kata sandi untuk pengguna root MySQL dengan menggunakan MYSQL_ROOT_PASSWORD variabel lingkungan.

Sekarang, mari kita jalankan containernya:

sudo docker run -d --name=mysql-server -p 3306:3306 -v mysql-data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=your_password mysql

Itu dia. Ini akan memulai versi terbaru dari instance MySQL, yang dapat diakses dari jarak jauh dari mana saja dengan kata sandi root yang ditentukan.

Untuk membuat semuanya lebih transparan, mari kita uraikan sintaks ini. Pertama, inilah arti setiap parameter dalam perintah itu:

  • -d akan menjalankan penampung ini dalam mode terpisah sehingga dapat berjalan di latar belakang.
  • --name memberikan nama mysql-server ke instance penampung Anda. Jika Anda tidak menentukan ini, Docker akan menghasilkan nama acak.
  • -p akan mengikat port kontainer MySQL 3306 ke port yang sama di mesin host Anda. Anda akan dapat terhubung ke 127.0.0.1 pada port 3306 menggunakan klien MySQL (mysql ) berjalan di host Anda.
  • -v opsi ikat folder data itu di dalam volume wadah (/var/lib/mysql ) ke volume Docker lokal (mysql-data ) yang Anda buat di langkah sebelumnya.
  • -e menetapkan variabel lingkungan. Dalam hal ini, kata sandi root MySQL.
  • mysql adalah nama gambar yang kita gunakan untuk membuat wadah.

Anda dapat memeriksa apakah container sedang berjalan dengan membuat daftar container yang sedang berjalan:

sudo docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                                  NAMES
0fc229e3df77   mysql     "docker-entrypoint.s…"   37 minutes ago   Up 34 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql-server

4. Menghubungkan ke Penampung MySQL

Anda bisa mendapatkan shell MySQL interaktif dengan melampirkannya ke wadah dan menjalankan mysql memerintah. Ini menyediakan antarmuka baris perintah MySQL lengkap untuk menggunakan semua perintah dan flag yang sudah dikenal.

sudo docker exec -it mysql-server mysql -u root -p

Anda juga dapat terhubung dengan instance MySQL Docker menggunakan mysql klien jika Anda sudah menginstalnya di host Anda.

Hati-hati karena secara default, klien mysql mencoba terhubung menggunakan soket UNIX saat Anda memintanya untuk terhubung ke localhost . Jadi, gunakan 127.0.0.1 dan bukan localhost .

mysql -u root -h 127.0.0.1 -p

Tentu saja, Anda juga dapat menggunakan klien berbasis GUI seperti MySQL Workbench untuk terhubung ke database. Misalnya, di MySQL Workbench Anda untuk “Hostname”, tentukan alamat IP mesin tempat Anda memulai Docker Container.

Tentu saja, dalam contoh yang ditunjukkan di atas untuk nama host, Anda dapat menggunakan alamat IP mesin tempat wadah buruh pelabuhan MySQL bekerja, bukan 127.0.0.1.

Anda dapat menemukan alamat ini dengan menjalankan ifconfig perintah tanpa argumen.

Menggunakan alamat IP mesin memungkinkan Anda mengakses server MySQL dari jarak jauh.

5. Hentikan, Mulai, dan Mulai Ulang Penampung MySQL

Perintah ini akan berhenti sementara wadah MySQL yang sedang berjalan (dan dapat dilanjutkan/di-restart nanti):

sudo docker stop mysql-server

Untuk memulai penampung MySQL, jalankan:

sudo docker start mysql-server

Perintah di bawah ini digunakan untuk memulai ulang wadah MySQL yang sedang berjalan:

sudo docker restart mysql-server

Kesimpulan

Seperti yang Anda lihat, menjalankan MySQL dalam Docker jauh lebih cepat dan mudah daripada menginstal MySQL Server secara lokal. Namun, ada banyak hal lagi yang perlu dipertimbangkan jika Anda akan menggunakan MySQL di Docker untuk apa pun selain pengujian.

Anda dapat melihat halaman MySQL di Docker Hub dan manual MySQL resmi tentang masalah ini untuk informasi lebih lanjut.

Beri tahu saya jika Anda memiliki pertanyaan atau saran. Saya akan senang untuk menindaklanjuti dengan Anda.


Docker
  1. Cara Menjalankan Nginx dalam Wadah Docker:Panduan Langkah demi Langkah

  2. Bagaimana Cara Menjalankan Program Di Dalam Wadah Docker?

  3. Cara Menjalankan Perintah di Running Docker Container

  1. Cara Menginstal WordPress dengan Docker, Panduan yang Mudah Diikuti

  2. Cara Menjalankan MySQL Dalam Wadah Docker

  3. Cara Membuat Wadah Docker MySQL untuk Pengujian

  1. Cara Mengatur Server Web Apache Sederhana di Wadah Docker

  2. Bagaimana cara mengirim sinyal ke program yang dijalankan dalam wadah buruh pelabuhan?

  3. Bagaimana cara menambahkan pengguna ke wadah Docker?