Dalam tutorial ini, Anda akan belajar cara terhubung ke MySQL yang berjalan di docker container dari localhost. Anda akan mulai dengan menarik gambar MySQL dari hub Docker
Dari prompt perintah, ketik perintah berikut untuk menarik citra docker MySQL
// Execute in terminal docker pull mysql
Setelah Anda memiliki image docker MySQL, Anda perlu menjalankan image tersebut untuk membuat instance MySQL
// Execute in terminal docker run -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7 _
-p opsi digunakan untuk mem-porting MySQL yang berjalan dalam wadah di port 3306 ke port 3307 di mesin lokal saya
Opsi -d digunakan untuk menjalankan wadah dalam mode detach
Opsi -e digunakan untuk melewatkan kata sandi MySQL
Terhubung ke MySQL yang Berjalan di Docker Container
Sekarang MySQL yang berjalan dalam wadah tersedia di localhost saya di 127. 0. 0. 1. 3307. Anda dapat menggunakan host sebagai 127. 0. 0. 1 dan port sebagai 3307 untuk login MySQL berjalan dalam wadah
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 bermakna, memastikan aksesibilitas yang mudah
Docker adalah kumpulan produk platform sebagai layanan yang mendukung pengembangan CI/CD. Ini memungkinkan pengguna untuk mengembangkan dan menggunakan aplikasi di dalam lingkungan virtual, yang disebut wadah. Dengan satu gambar, Docker dapat mem-boot aplikasi dengan semua pustaka dan dependensinya
Dalam tutorial ini, pelajari cara menerapkan container Docker MySQL dan mulai bekerja dengan database dalam container
Prasyarat
- Akses ke baris perintah/jendela terminal
- Akun pengguna dengan hak istimewa sudo atau akses ke akun root
- Instalasi Docker yang sudah ada
Menjalankan Kontainer Docker MySQL
Jika Anda perlu menyiapkan database dengan cepat dan tanpa menggunakan terlalu banyak sumber daya, menggunakan MySQL dalam wadah adalah solusi yang cepat dan efisien. Ini hanya sesuai untuk aplikasi berukuran kecil dan menengah. Aplikasi tingkat perusahaan tidak akan menemukan wadah Docker MySQL yang cukup untuk beban kerjanya
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 wadah dapat berjalan di komputer Anda. Kontainer berbagi kernel dan pustaka yang sama dari host sambil mengemas aplikasi atau perangkat lunak yang diterapkan ke dalam satu unit. Ini membuat database sangat ringan dan cepat untuk diputar
Menginstal 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 wadah 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:latestJika Anda menginginkan versi MySQL tertentu, ganti sudo docker run --name=[container_name] -d [image_tag_name]4 dengan nomor versi
2. Verifikasi gambar sekarang disimpan secara lokal dengan mencantumkan gambar Docker yang diunduh
sudo docker images_Keluaran harus mencakup sudo docker run --name=[container_name] -d [image_tag_name]5 di antara gambar yang tercantum
Langkah 2. Terapkan Kontainer MySQL
1. Setelah Anda memiliki image, lanjutkan dengan menggunakan container MySQL baru
sudo docker run --name=[container_name] -d [image_tag_name]- Ganti sudo docker run --name=[container_name] -d [image_tag_name]_6 dengan nama pilihan Anda. Jika Anda tidak memberikan nama, Docker akan membuat nama secara acak
- Opsi sudo docker run --name=[container_name] -d [image_tag_name]_7 menginstruksikan Docker untuk menjalankan container sebagai layanan di latar belakang
- Ganti sudo docker run --name=[container_name] -d [image_tag_name]_8 dengan nama gambar yang diunduh pada Langkah 1
Dalam contoh ini, kami membuat penampung bernama sudo docker run --name=[container_name] -d [image_tag_name]9 dengan tag versi sudo docker run --name=[container_name] -d [image_tag_name]4
sudo docker run --name=[container_name] -d mysql/mysql-server:latest2. Kemudian, periksa untuk melihat apakah penampung MySQL sedang berjalan
docker psAnda akan melihat wadah yang baru dibuat tercantum dalam output. Ini mencakup detail wadah, salah satunya adalah status lingkungan virtual ini. Status berubah dari sudo docker run --name=[container_name] -d mysql/mysql-server:latest_1 menjadi sudo docker run --name=[container_name] -d mysql/mysql-server:latest2, setelah penyiapan selesai
Langkah 3. Sambungkan ke Kontainer Docker MySQL
1. Sebelum Anda dapat menghubungkan wadah server MySQL dengan host, Anda perlu memastikan bahwa paket klien MySQL diinstal
apt-get install mysql-client2. Kemudian, buka file log untuk wadah MySQL untuk menemukan kata sandi root yang dihasilkan
sudo docker logs [container_name]Untuk wadah sudo docker run --name=[container_name] -d [image_tag_name]_9, kami menjalankan
sudo docker logs mysql_docker3. Gulir melalui output dan temukan baris sudo docker run --name=[container_name] -d mysql/mysql-server:latest4. , salin dan tempel kata sandi di notepad atau editor teks sehingga Anda dapat menggunakannya nanti
4. Selanjutnya, buka bash shell wadah MySQL dengan mengetik
sudo docker exec -it [container_name] bashUntuk wadah yang dibuat sebagai contoh, kami menjalankan
sudo docker -it mysql_docker bash3. 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
sudo docker images_0Ganti sudo docker run --name=[container_name] -d mysql/mysql-server:latest_5 dengan kata sandi kuat pilihan Anda
Konfigurasikan Wadah MySQL
Saat Anda menginstal wadah MySQL, Anda akan menemukan opsi konfigurasinya di direktori sudo docker run --name=[container_name] -d mysql/mysql-server:latest6
Jika Anda perlu memodifikasi konfigurasi, buat file konfigurasi alternatif di mesin host dan pasang di dalam wadah
1. Pertama, buat direktori baru di mesin host
sudo docker images_12. Buat file konfigurasi MySQL khusus di dalam direktori itu
sudo docker images_23. Setelah berada di file, Anda dapat menambahkan baris dengan konfigurasi yang diinginkan
Misalnya, jika Anda ingin menambah jumlah maksimum koneksi menjadi 250 (bukan 151 default), tambahkan baris berikut ke file konfigurasi
sudo docker images_34. Simpan dan keluar dari file
5. Agar perubahan terjadi, Anda perlu menghapus dan menjalankan kembali wadah MySQL. Kali ini, container menggunakan kombinasi pengaturan konfigurasi dari file yang baru dibuat dan file konfigurasi default
Untuk melakukannya, jalankan wadah dan petakan jalur volume dengan perintah
sudo docker images_46. Untuk memeriksa apakah wadah memuat konfigurasi dari host, jalankan perintah berikut
Anda akan melihat bahwa jumlah maksimum koneksi sekarang adalah sudo docker run --name=[container_name] -d mysql/mysql-server:latest7
Kelola Penyimpanan Data
Secara default, Docker menyimpan data dalam volume internalnya
Untuk memeriksa lokasi volume, gunakan perintah
sudo docker images_6Anda akan melihat sudo docker run --name=[container_name] -d mysql/mysql-server:latest_8 dipasang di volume internal
Anda juga dapat mengubah lokasi direktori data dan membuatnya di host. Memiliki volume di luar wadah memungkinkan aplikasi dan alat lain untuk mengakses volume saat diperlukan
1. Pertama, temukan volume yang sesuai di host dan buat direktori data di dalamnya
sudo docker images_72. Sekarang mulai wadah lagi, pasang direktori yang dibuat sebelumnya
sudo docker images_8Jika Anda memeriksa container, Anda akan melihat bahwa container MySQL sekarang menyimpan datanya di sistem host. Jalankan perintah
sudo docker images_6Mulai, Hentikan, dan Mulai Ulang Kontainer MySQL
Wadah secara otomatis berhenti ketika proses yang berjalan di dalamnya berhenti
Untuk memulai menjalankan wadah MySQL
sudo docker run --name=[container_name] -d [image_tag_name]0Hentikan wadah MySQL, gunakan perintah
sudo docker run --name=[container_name] -d [image_tag_name]1Untuk me-restart menjalankan wadah MySQL
sudo docker run --name=[container_name] -d [image_tag_name]2Hapus Wadah MySQL
Sebelum menghapus wadah MySQL, pastikan Anda menghentikannya terlebih dahulu
Kemudian, hapus wadah buruh pelabuhan dengan
sudo docker run --name=[container_name] -d [image_tag_name]_3Kesimpulan
Setelah membaca artikel ini, Anda seharusnya sudah berhasil menerapkan wadah MySQL
Menggabungkan Docker dan MySQL bisa menjadi solusi yang sangat baik untuk aplikasi skala kecil. Sekarang Anda dapat mulai menjelajahi semua kemungkinan wadah MySQL