Buruh pelabuhan terhubung ke mysql lokal

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

Tutorial on How to Install MySQL Docker Containers

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:latest

Jika Anda menginginkan versi MySQL tertentu, ganti

sudo docker run --name=[container_name] -d [image_tag_name]
4 dengan nomor versi

Pull MySQL Docker image for MySQL Docker container.

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

Checking whether MySQL Docker image is part of local repository.

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:latest

2. Kemudian, periksa untuk melihat apakah penampung MySQL sedang berjalan

docker ps

Anda 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:latest
2, setelah penyiapan selesai

A command for running a MySQL container and checking the container state.

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-client

2. 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_docker

3. Gulir melalui output dan temukan baris

sudo docker run --name=[container_name] -d mysql/mysql-server:latest
4. , salin dan tempel kata sandi di notepad atau editor teks sehingga Anda dapat menggunakannya nanti

Find generated root password for MySQL Docker container.

4. Selanjutnya, buka bash shell 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

A command for connecting to a MySQL Docker container.

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

sudo docker images
_0

Ganti

sudo docker run --name=[container_name] -d mysql/mysql-server:latest
_5 dengan kata sandi kuat pilihan Anda

ChangeMySQL root password for MySQL container.

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:latest
6

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
_1

2. Buat file konfigurasi MySQL khusus di dalam direktori itu

sudo docker images
_2

3. 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
_3

File changing the configuration of a MySQL container by expanding the maximum number of connections.

4. 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
_4

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

sudo docker images
_5

Anda akan melihat bahwa jumlah maksimum koneksi sekarang adalah

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

Kelola Penyimpanan Data

Secara default, Docker menyimpan data dalam volume internalnya

Untuk memeriksa lokasi volume, gunakan perintah

sudo docker images
_6

Anda akan melihat

sudo docker run --name=[container_name] -d mysql/mysql-server:latest
_8 dipasang di volume internal

List details of MySQL Docker container and data storage location.

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
_7

2. Sekarang mulai wadah lagi, pasang direktori yang dibuat sebelumnya

sudo docker images
_8

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

sudo docker images
_6

Mulai, 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]
0

Hentikan wadah MySQL, gunakan perintah

sudo docker run --name=[container_name] -d [image_tag_name]
1

Untuk me-restart menjalankan wadah MySQL

sudo docker run --name=[container_name] -d [image_tag_name]
2

Hapus 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]
_3

example of stopping and deleting a MySQL container

Kesimpulan

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

Bagaimana cara menghubungkan db lokal dari buruh pelabuhan?

Hubungkan PostgreSQL yang Dihosting Secara Lokal Dari Docker .
Dapatkan alamat IP lokal, mirip dengan 192. 168. 1. 111 (gunakan ipconfig di sistem berbasis linux)
Get inside the docker using docker exec -it .
Coba Perintah Ping Ping 192. 168. .
Coba Perintah Telnet telnet 192. 168

Bisakah saya mengakses localhost dari buruh pelabuhan?

Mengakses Host Dengan Mode Bridge Default . 0. You just need to reference it by its Docker network IP, instead of localhost or 127.0. 0. 1 . IP Docker host Anda akan ditampilkan di baris inet. Sambungkan ke alamat IP ini dari dalam wadah Anda agar berhasil mengakses layanan yang berjalan di host Anda.

Bagaimana cara terhubung ke wadah buruh pelabuhan lokal?

Untuk terhubung ke container menggunakan perintah docker biasa, Anda dapat menggunakan docker exec dan docker attach . docker exec jauh lebih populer karena Anda dapat menjalankan perintah baru yang memungkinkan Anda menelurkan shell baru. Anda dapat memeriksa proses, file, dan beroperasi seperti di lingkungan lokal Anda.

Bisakah saya menggunakan MySQL dengan buruh pelabuhan?

Dengan Docker, Anda dapat menjalankan atau menskalakan aplikasi Anda di lingkungan apa pun. MySQL adalah salah satu database relasional paling populer yang kompatibel dengan SQL. Menjalankan MySQL di dalam container Docker memungkinkan Anda memisahkan database dari kode Anda .