Tutorial ini menjelaskan metode langkah demi langkah untuk menyiapkan dan menggunakan container Docker MySQL dengan contoh Show
Docker adalah platform orkestrasi wadah yang memungkinkan kita untuk menjalankan image dari aplikasi apa pun (dalam hal ini server MySQL) pada sistem host (yang dapat berperilaku di OS apa pun yang diinstal – contoh. Linux, Windows, MacOS, dll) Menggunakan MySQL dengan buruh pelabuhan akan membantu pengembang atau siapa pun yang ingin belajar atau bereksperimen dengan MySQL tanpa melalui kerumitan instalasi atau konfigurasi apa pun Menjalankan melalui buruh pelabuhan hanya mengharuskan Anda memasang buruh pelabuhan di mesin Anda, dan kemudian Anda dapat menggunakan gambar buruh pelabuhan MySQL yang tersedia => Klik di sini untuk seri tutorial MySQL lengkap Apa yang Akan Anda Pelajari Memahami MySQL DockerMenjalankan MySQL dengan wadah Docker adalah mekanisme yang banyak digunakan, terutama untuk arsitektur layanan mikro di mana biasanya setiap layanan mikro bekerja dengan basis data/tabelnya sendiri dan pengujian integrasi/komponen yang terisolasi dapat dijalankan pada versi basis data yang ditampung Konsep Kontainer MySQLPikirkan wadah buruh pelabuhan sebagai mesin virtual ringan yang dapat berjalan secara independen dari aplikasi lain (dan dapat hidup dalam konteksnya sendiri). Aplikasi apa pun – misalnya, MySQL, dalam hal ini, dapat digabungkan bersama sebagai wadah dan dapat digunakan di host lokal atau jarak jauh Sekarang wadah ini adalah ekosistem mini dan memiliki semua komponen yang digabungkan bersama yang diperlukan agar MySQL dapat dijalankan dengan benar Prasyarat. Menginstal DockerUntuk membuat MySQL sebagai wadah buruh pelabuhan, mesin host harus memasang buruh pelabuhan >> Bacaan yang disarankan untuk menginstal Docker=> Instalasi Dan Pengantar Docker Untuk memvalidasi instalasi buruh pelabuhan, cukup jalankan perintah di bawah ini docker version Jika output ditampilkan seperti di bawah ini, ini berarti instalasi docker berhasil Langkah-langkah Setup MySQL Dengan Docker#1) Tarik gambar buruh pelabuhan yang diinginkan Gambar Docker untuk MySQL dapat ditarik dari hub docker. Kami akan menarik gambar terbaru mysql-server dari hub buruh pelabuhan dalam contoh kami. Gambar wadah Docker diterbitkan melalui sumber resmi di hub buruh pelabuhan >> Klik di sini untuk menemukan semua gambar/versi buruh pelabuhan yang tersedia dari MySQL Kecuali versi tertentu diperlukan, kami selalu dapat menentukan tag sebagai 'terbaru' yang akan menarik versi MySQL terbaru yang tersedia dari registri docker hub yang biasa disebut docker hub Sintaks untuk menarik gambar buruh pelabuhan docker pull mysql:latest_ Setelah dieksekusi, Anda akan melihat output seperti di bawah ini Setelah gambar kontainer diunduh sepenuhnya di host, Anda dapat melihat semua gambar yang diunduh dengan menjalankan perintah di bawah ini docker image ls #2) Mulai wadah dengan gambar yang ditarik Sekarang, mari kita mulai wadah menggunakan docker image yang diunduh untuk MySQL a) Mari pertama-tama jalankan wadah dengan gambar yang diunduh Sintaksis docker run --name {optional-name-for-the-container} -d {name of the image tag} Dalam sintaks di atas,
Contoh. Kami akan membuat wadah bernama learn-mysql-docker dari tag gambar yang digunakan sebelumnya - mysql. terbaru docker run --name learn-mysql-docker -d mysql:latest -e MYSQL_RANDOM_ROOT_PASSWORD=1_ Perhatikan penggunaan -e flag, yang tidak lain adalah menentukan variabel lingkungan. Di sini kami telah menentukan nilai untuk MYSQL_RANDOM_ROOT_PASSWORD=1 Ini berarti bahwa saat memulai server MySQL, kata sandi root akan diatur ke String yang dibuat secara acak (nanti kita akan lihat di bagian selanjutnya, bagaimana kita dapat mengambil kata sandi acak yang dihasilkan secara dinamis melalui log wadah Docker) Catatan. Ada opsi lain juga untuk pengaturan default kata sandi root Pilihan yang tersedia adalah sebagai berikut
Ada variabel lingkungan lain yang tersedia, yaitu MYSQL_ONETIME_PASSWORD. Ini, ketika disetel ke true (1), akan kedaluwarsa kata sandi pengguna root dan mengharapkan pengguna membuat kata sandi baru setelah login pertama. (Harap dicatat bahwa variabel env ini hanya diterapkan di versi MySQL lebih dari 5. 6) Keluaran Setelah perintah di atas dijalankan, Anda akan melihat buruh pelabuhan menampilkan ID wadah yang dibuat Sebagai contoh Mari memvalidasi apakah penampung berhasil dibuat dengan mencantumkan penampung buruh pelabuhan yang tersedia di host dan memfilter nama penampung yang telah kami tentukan docker container ls -a | grep "learn-mysql-docker" Anda akan melihat output seperti di bawah ini (jika wadah berhasil dimulai) b) Ambil kata sandi root. Untuk terhubung dengan pengguna root, kita perlu memasukkan kata sandi. Karena kami telah menyebutkan variabel env untuk menyetel/mengizinkan kata sandi acak, kami akan mengambil kata sandi ini dari log wadah Docker Jalankan perintah di bawah ini untuk mengambil log dan kata sandi yang dibuat secara acak docker logs learn-mysql-docker | grep "GENERATED ROOT PASSWORD:"_ Keluaran Seperti yang disorot pada gambar di atas, Anda dapat melihat kata sandi acak dibuat. Di bagian selanjutnya, kami akan menggunakan kata sandi ini untuk masuk dengan pengguna root c) Bagaimana cara memulai wadah buruh pelabuhan dengan kata sandi yang diinginkan? Dalam hal ini, perintah untuk membuat wadah adalah seperti di bawah ini docker run --name learn-mysql-docker -d mysql:latest -e MYSQL_ROOT_PASSWORD=`password123` #3) Masuk ke wadah yang dibuat Untuk melakukannya, kami akan menggunakan nama penampung yang dibuat (atau id) dan masuk ke aplikasi bash shell di dalam penampung docker exec -it learn-mysql-docker bash_ Jika wadah sudah habis dan berhasil dibuat, setelah menjalankan perintah di atas Anda akan melihat bash shell di dalam wadah #4) Jalankan shell MySQL Setelah masuk ke wadah, kami akan memulai shell MySQL dengan pengguna root dan menentukan kata sandi yang diperoleh secara acak #5) Jalankan contoh perintah MySQL Setelah kita masuk dengan pengguna root, mari sekarang coba jalankan beberapa perintah sederhana untuk memastikan semuanya bekerja dengan baik a) TAMPILKAN semua database. Jalankan perintah di bawah ini SHOW DATABASES;_ b) Ubah kata sandi pengguna root menjadi 'Kata Sandi' - Jalankan perintah di bawah ini dan coba masuk lagi dengan pengguna root (terhadap kata sandi baru i. e. Kata sandi, yang diatur oleh perintah ini) Menghubungkan ke MySQL Docker Dari Mesin HostPada bagian di atas, kita telah login ke shell MySQL yang ada di dalam container docker. Kami juga dapat mengekspos port dari wadah MySQL di buruh pelabuhan ke port lokal dan menggunakannya untuk pengembangan lokal untuk terhubung ke MySQL #1) Mulai wadah dan petakan ke port lokal. Pada langkah ini, kita akan memetakan port dari docker container ke port di localhost yang akan digunakan untuk terhubung ke MySQL a) Pertama hentikan/hapus wadah yang telah kita buat di bagian sebelumnya. Ini diperlukan untuk menghindari kebingungan dan mendapatkan kesalahan terkait alamat port Perintah yang harus dijalankan adalah docker pull mysql:latest_0 Setelah penampung dihentikan, kami dapat menghapus penampung menggunakan perintah di bawah ini docker pull mysql:latest_1 b) Setelah wadah dihapus, kita dapat memulai wadah baru dengan gambar MySQL yang sama dan juga memetakan port docker ke port host lokal Ini dapat dilakukan dengan menjalankan perintah di bawah ini docker pull mysql:latest_2 Mari kita coba pahami perintah di atas
c) Pastikan tidak ada kesalahan setelah perintah di atas dijalankan. Jika semuanya berjalan dengan baik, perintah di atas akan mencetak ID wadah yang dihasilkan Lihat gambar di bawah ini #2) Setelah wadah berhasil dimulai, sambungkan ke MySQL dari localhost -menggunakan baris perintah atau alat GUI seperti meja kerja MySQL a) Mari jalankan/sambungkan ke database MySQL melalui baris perintah (Prasyarat – harap pastikan bahwa localhost juga telah menginstal alat Baris Perintah MySQL) docker pull mysql:latest_3 Setelah perintah dijalankan, Anda akan melihat bahwa Anda terhubung ke instance MySQL berbasis docker. Anda dapat mencoba menjalankan perintah seperti SHOW DATABASES;_ Dan pastikan pengaturannya berfungsi dengan baik b) Untuk terhubung melalui meja kerja MySQL, Anda cukup menentukan nama host sebagai localhost dan no port. sebagai port yang dipetakan yang digunakan Siapkan koneksi baru dengan localhost dan port sebagai 13306 Simpan kata sandi di gantungan kunci seperti yang ditunjukkan pada gambar di bawah ini Kemudian, hubungkan ke database Menyiapkan MySQL Docker Menggunakan Docker Compose FileKomposisi Docker adalah detail yang diperlukan untuk menyiapkan gambar/wadah buruh pelabuhan dalam bentuk template, yang dalam format YAML. Hal ini memudahkan untuk membagikan dan memeriksanya ke dalam sistem kontrol versi seperti TFS atau GIT, di mana siapa pun yang mengerjakan proyek dapat dengan mudah mengambil file ini dan menjalankannya untuk menyiapkan wadah buruh pelabuhan yang diperlukan dengan informasi yang diperlukan Ada beberapa utilitas dan halaman web yang memungkinkan Anda membuat file pembuat buruh pelabuhan dengan mudah Kita dapat menggunakan yang dari sini dan cukup menempelkan perintah buruh pelabuhan yang telah kita gunakan untuk membuat wadah Lihat gambar di bawah ini Kita dapat menyalin konten dari file yang dibuat dan menyimpan konten dengan file bernama docker-compose. yaml di folder di desktop/laptop Anda Setelah file disimpan, navigasikan ke folder (tempat file disimpan) dan jalankan perintah di bawah ini docker pull mysql:latest_5 Jika konten file penulisan sudah benar dan gambar tersedia, wadah buruh pelabuhan baru akan dimulai (dan dapat digunakan dengan cara yang sama seperti yang dijelaskan di bagian sebelumnya dari artikel ini) Pertanyaan yang Sering DiajukanT #1) Bagaimana cara membuat database di MySQL Docker? Menjawab. MySQL Docker dalam wadah contoh dapat dihubungkan melalui baris perintah dengan masuk ke wadah. Setelah koneksi dibuat, perintah SQL apa pun dapat dijalankan Untuk terhubung ke MySQL di dalam wadah, berikut sintaksnya docker pull mysql:latest_6 Setelah perintah di atas dijalankan, Anda akan diminta untuk memasukkan password database. Dan setelah kata sandi diverifikasi, Anda dapat menjalankan perintah berbasis SQL apa pun T #2) Bagaimana cara mengekspos port tertentu dari buruh pelabuhan untuk MySQL? Menjawab. Pemetaan port dapat ditentukan saat wadah buruh pelabuhan sedang dibuat. Misalnya, jika Anda ingin memetakan port docker ke port tertentu di localhost Anda, Anda dapat menggunakan perintah seperti docker pull mysql:latest_2 Di sini 13306 adalah port di mesin host, dan 3306 adalah port di container T #3) Bagaimana cara memulai ulang/menghentikan dan menghapus wadah MySQL berbasis buruh pelabuhan? Menjawab. Ada beberapa perintah praktis dan berguna untuk wadah buruh pelabuhan
docker pull mysql:latest_8
docker pull mysql:latest_9
docker image ls0 T #4) Bagaimana cara terhubung ke instance MySQL yang di-docker dari mesin host? Menjawab. Setelah port docker dan port localhost dipetakan, kita dapat terhubung ke instance MySQL yang ada di dalam docker dari localhost melalui baris perintah atau melalui alat UI seperti meja kerja MySQL Untuk memulai melalui baris perintah – Alat baris perintah MySQL juga harus diinstal pada mesin host Perintah di bawah ini dapat digunakan untuk terhubung ke instance MySQL di buruh pelabuhan melalui host docker pull mysql:latest_3 T #5) Bagaimana kita bisa menjalankan versi tertentu dari MySQL menggunakan Docker? Menjawab. Saat menentukan opsi gambar buruh pelabuhan (menggunakan -d), saat membuat penampung, kita dapat menentukan gambar/versi penampung yang tersedia Jika yang terbaru ditentukan, itu akan mengambil gambar yang diterbitkan terakhir dari penampung yang diberikan Misalnya, untuk MySQL kita dapat menentukan mysql. terbaru untuk mengambil versi terbaru dan sesuatu seperti mysql. 8. 0. 22 misalnya untuk mengambil versi 8. 0. 22 >> Lihat dokumentasi Docker Hub untuk MySQL untuk melihat daftar lengkap semua versi yang tersedia KesimpulanDalam tutorial ini, kita telah belajar tentang menyiapkan server MySQL menggunakan Docker, bukan mesin host yang sebenarnya Docker adalah sistem orkestrasi wadah yang kuat, yang memungkinkan pengguna untuk menghosting sejumlah aplikasi sebagai wadah dan memungkinkan mereka untuk digunakan sebagai sistem yang terisolasi itu sendiri. Itu juga membutuhkan pengaturan minimal dan menyediakan cara cepat untuk menghindari semua kerepotan pengaturan hanya dengan beberapa perintah Saat ini, dengan arsitektur layanan mikro di mana berbagai layanan mikro bergantung pada database mereka sendiri, menerapkan server MySQL sebagai wadah Docker telah menjadi praktik yang cukup umum. Ini juga banyak digunakan untuk eksekusi lokal apa pun, membuat bukti konsep atau bahkan untuk menjalankan tes integrasi ujung ke ujung di lingkungan yang terisolasi Bagaimana cara Dockerisasi database?Untuk pelajaran ini, kita akan menggunakan Docker Compose, karena ini akan sering Anda gunakan untuk mengintegrasikan database ke dalam aplikasi Dockerized. . Tentukan cara membangun server Node Tambahkan instruksi untuk membangun database Kaitkan server dengan database Bagaimana cara mengimpor database MySQL ke wadah Docker?Pelajari cara mengimpor database MySQL ke container Docker MySQL dan membuat kueri database menggunakan Python dan PyMySQL. . Masuk ke MySQL. . Buat database MySQL kosong. . Unduh file impor basis data. . Impor dump SQL ke database MySQL Anda. . Akses database baru. . Buka buku catatan Jupyter |