Apa port docker mysql?

Panduan langkah demi langkah untuk menerapkan MySQL DB dengan penyimpanan persisten dalam wadah Docker dan terhubung dengan Dockerized MySQL Database

Thanasis Papazacharias dari Pixabay

Jika Anda bekerja di industri Rekayasa Perangkat Lunak atau jika Anda berencana untuk bekerja di bidang Rekayasa Perangkat Lunak, mungkin Anda pernah mendengar tentang Docker

Pada 2013, Docker memperkenalkan konsep Container dan mengubah lanskap Rekayasa Perangkat Lunak selamanya

Kontainer adalah unit standar perangkat lunak yang memungkinkan pengembang untuk mengisolasi aplikasi mereka dari lingkungannya, memecahkan masalah "berfungsi di mesin saya". Docker masih menjadi standar "de facto" untuk containerisasi

Penggunaan penting lainnya dari Docker adalah bahwa pengembang dapat mengunduh dan menjalankan aplikasi dalam wadah apa pun tanpa menginstalnya secara langsung di mesin lokal mereka. Karena ada versi Docker dari hampir semua aplikasi yang diperlukan, Docker membantu untuk mencoba dan menjalankan aplikasi sambil menjaga OS Anda ramping dan bersih

MySQL adalah salah satu Database sumber terbuka paling populer dan salah satu dari Database relasional “Empat Besar”. Ini banyak digunakan oleh industri, akademisi, dan komunitas. Dalam posting Blog, saya telah membuat analisis terperinci dan peringkat sepuluh database teratas di industri dan MySQL mendapat posisi teratas. Anda dapat membaca artikel saya jika Anda ingin tahu lebih banyak tentang mengapa MySQL adalah database nomor satu termasuk fitur utamanya, kasus penggunaan, layanan MySQL terkelola, dan alternatifnya

10 Basis Data Teratas untuk Digunakan di 2021

MySQL, Oracle, PostgreSQL, Microsoft SQL Server, MongoDB, Redis, Elasticsearch, Cassandra, MariaDB, IBM Db2

menuju ilmu data. com

Di sini saya akan menunjukkan cara menjalankan Dockerized MySQL Database dan kemudian menghubungkannya dari mesin lokal Anda

Instal Docker

Anda dapat menginstal Docker di hampir semua OS utama, baik itu Linux, Windows, atau macOS. Silakan ikuti instruksi yang diberikan di situs docker resmi untuk menginstal Docker di mesin lokal Anda. https. //dokumen. buruh pelabuhan. com/mesin/pasang/

Instal dan Mulai Dockerized MySQL

Kontainer Docker tidak memiliki kewarganegaraan. Jadi, jika Anda menggunakan MySQL Containerized, maka Anda akan kehilangan semua Data yang disimpan setelah Anda me-restart container. Salah satu cara untuk menghindari masalah ini adalah dengan membuat volume buruh pelabuhan dan melampirkannya ke wadah MySQL Anda. Berikut adalah perintah untuk membuat wadah MySQL termasuk volume terlampir di mesin lokal Anda

Perintah berikut akan membuat volume di mesin lokal Anda yang nantinya dapat Anda sambungkan dengan wadah MySQL

λ docker volume create mysql-volume
mysql-volume

Perintah berikut akan menarik server MySQL versi 8. 0. 20 dari registri Docker dan kemudian membuat instance wadah Docker dengan nama “mk-mysql. ” Itu juga akan melampirkan volume "mysql-volume" yang dibuat sebelumnya dengan Database dan akan mengekspos port 3306 sehingga Anda dapat menjangkau database MySQL di luar wadah

λ docker run --name=mk-mysql -p3306:3306 -v mysql-volume:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql/mysql-server:8.0.20
Unable to find image ‘mysql/mysql-server:8.0.20’ locally
8.0.20: Pulling from mysql/mysql-server
_

Anda dapat memeriksa apakah penampung sedang berjalan dengan mencantumkan penampung yang sedang berjalan

λ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d54e7992094b mysql/mysql-server:8.0.20 "/entrypoint.sh mysq…" Less than a second ago Up 4 seconds (health: starting) 0.0.0.0:3306->3306/tcp, 33060/tcp mk-mysql

Anda juga dapat memeriksa file log dari wadah MySQL yang sedang berjalan dengan perintah berikut

λ docker logs mk-mysql

Sekarang, Anda dapat terhubung ke wadah bash shell interaktif dengan perintah berikut

λ docker exec -it mk-mysql bash
bash-4.2#
_

Setelah Anda berada di dalam wadah Anda, Anda dapat terhubung ke server MySQL Anda dan membuat Database baru sebagai berikut

bash-4.2# mysql -u root -p
Enter password:
...
mysql> CREATE DATABASE MYSQLTEST;
Query OK, 1 row affected (0.00 sec)

Harap perhatikan bahwa Anda harus memberikan kata sandi yang sama dengan yang telah kami tetapkan untuk menjalankan wadah (my-secret-pw)

Secara default, MySQL membatasi koneksi selain mesin lokal (di sini wadah Docker) untuk alasan keamanan. Jadi, untuk terhubung dari mesin lokal, Anda harus mengubah batasan koneksi

mysql> update mysql.user set host = ‘%’ where user=’root’;
Query OK, 1 row affected (0.02 sec)
_

Meskipun untuk alasan keamanan, akan lebih baik untuk membuat pengguna non-admin baru dan memberikan akses hanya kepada pengguna tersebut

Instal Dockerized phpMyAdmin

Anda dapat menggunakan program Klien MySQL apa pun untuk terhubung dengan Server MySQL. Favorit pribadi saya adalah phpMyAdmin, yang merupakan klien Web MySQL yang sederhana namun kuat. Juga, daripada menginstal phpMyAdmin di mesin saya, saya lebih suka menggunakan phpMyAdmin Dockerized

Anda dapat menarik image phpMyAdmin dari docker registry dan menjalankan container dengan perintah berikut

λ docker volume create phpmyadmin-volume
phpmyadmin-volume
λ docker run --name mk-phpmyadmin -v phpmyadmin-volume:/etc/phpmyadmin/config.user.inc.php --link mk-mysql:db -p 82:80 -d phpmyadmin/phpmyadmin
ef21905790dc42bc2e20d449b853d675d4922cb1249131513fdee885fc1088f8

Anda dapat memeriksa apakah phpMyAdmin berjalan dengan mencantumkan semua wadah yang berjalan atau dengan memeriksa file log

λ docker ps -f "name=mk-phpmyadmin"
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ef21905790dc phpmyadmin/phpmyadmin "/docker-entrypoint.…" Less than a second ago Up 10 minutes 0.0.0.0:82->80/tcp mk-phpmyadmin
λ docker logs mk-phpmyadmin
_

Catatan Untuk Mac/Windows

Berdasarkan OS Anda, DOCKER_HOST Anda berbeda. Di Linux, itu akan menjadi localhost Anda. Untuk Mac/Windows, Anda dapat memperoleh DOCKER_HOST dengan perintah berikut

λ docker-machine ip default
_

Untuk Windows/Mac, Anda dapat menghubungkan alamat IP DOCKER_HOST. Pilihan lainnya adalah Penerusan port. Di Windows, Mesin Docker adalah mesin virtual yang berjalan di bawah VirtualBox di mesin host Anda

Untuk mengaktifkan Port forwarding untuk MySQL dan phpMyAdmin, lakukan langkah-langkah berikut

  • Buka "Kotak Virtual Oracle VM"
  • Pilih gambar Docker Machine VirtualBox Anda (mis. g. , bawaan)
  • Buka Pengaturan -> Jaringan -> Lanjutan -> Penerusan Port
  • Tambahkan nama aplikasi, port host yang diinginkan, dan port tamu sebagai berikut

Akses MySQL melalui phpMyAdmin

Buka browser Anda dan kunjungi http. // localhost. 82 untuk mengakses UI phpMyAdmin

Setelah Anda masuk dengan kata sandi yang dikonfigurasi sebelumnya (my-secret-pw), Anda harus dapat melihat tampilan Admin phpMyAdmin sebagai berikut

Di panel kiri, Anda dapat melihat Database yang dibuat sebelumnya (MYSQLTEST). Sekarang, Anda harus dapat mengatur Database Anda (membuat/menjatuhkan tabel, menjalankan kueri SQL, dll. )

Jika Anda telah mengonfigurasi volume Docker seperti yang disebutkan, perubahan Database Anda akan tetap ada bahkan jika Anda me-restart wadah MySQL Anda. Jika tidak, semua perubahan yang Anda buat di Database Anda akan hilang

Bagaimana cara terhubung ke MySQL di Docker?

Langkah 1. Tarik Gambar Docker untuk MySQL . Langkah 2. Terapkan dan Mulai Wadah MySQL . Langkah 3. Terhubung dengan Docker MySQL Container .

Apa port default untuk wadah MySQL?

Port 3306 adalah port default untuk protokol MySQL klasik ( port ), yang digunakan oleh klien mysql, Konektor MySQL, dan utilitas seperti mysqldump dan mysqlpump.

Bagaimana cara memulai MySQL dalam wadah Docker?

Cara Memulai MySQL di Docker Container .
Langkah 1. Tarik Gambar MySQL Docker. Langkah pertama adalah menarik image MySQL Docker. Di sini kami menarik gambar terbaru. .
Langkah 2. Perintah Jalankan Docker. Selanjutnya, Anda akan menjalankan perintah docker run. .
Langkah 3. Docker mengeksekusi Perintah. Selanjutnya, Anda akan menjalankan perintah docker exec

Apakah Docker menggunakan port 8080?

Aplikasi Docker untuk macOS menggunakan port 8080 .