Rumah > Operasi dan penyelenggaraan > Docker > Apakah yang perlu saya lakukan jika docker tidak dapat memasuki mysql?

Apakah yang perlu saya lakukan jika docker tidak dapat memasuki mysql?

PHPz
Lepaskan: 2023-04-25 09:36:51
asal
1455 orang telah melayarinya

Docker ialah teknologi kontena popular yang boleh membina persekitaran berjalan bebas pada imej asas dan membungkus aplikasi dan perkhidmatan ke dalam bekas mudah alih. Docker dicirikan oleh kesederhanaan, kemudahan penggunaan, kelajuan, kecekapan, dan penggunaan mudah, menjadikan kerja pembangunan lebih mudah dan cekap. Walau bagaimanapun, apabila menggunakan Docker, anda sering menghadapi beberapa masalah, seperti tidak dapat memasuki bekas MySQL.

Bekas MySQL dalam Docker boleh beroperasi seperti MySQL yang dipasang secara tempatan, tetapi dalam beberapa kes, kami akan menghadapi situasi di mana kami tidak boleh memasuki bekas MySQL. Di bawah ini kami akan menganalisis secara khusus sebab dan penyelesaian untuk tidak dapat memasukkan MySQL dalam bekas Docker.

  1. Periksa sama ada bekas MySQL dimulakan

Mula-mula kita perlu menyemak sama ada bekas MySQL dimulakan dengan betul. Anda boleh melihat status semua bekas melalui arahan Docker "docker ps -a". Jika bekas MySQL tidak bermula atau telah berhenti berjalan, kita perlu memulakan semula bekas MySQL. Bekas boleh dimulakan dengan arahan "docker start [container ID]".

  1. Semak status berjalan kontena MySQL

Setelah bekas MySQL berjaya dimulakan, kita boleh menggunakan arahan “docker exec” untuk memasuki bekas. Tetapi jika bekas tidak bermula seperti biasa, anda tidak boleh memasuki bekas. Jika bekas tidak berjalan, kita boleh memulakan bekas dengan arahan berikut:

docker run --name [容器名称] -p [端口号]:3306 -e MYSQL_ROOT_PASSWORD=[密码] -d mysql:latest
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
  1. Semak tetapan port kontena MySQL

Perlu diingatkan juga bahawa jika bekas sedang berjalan , jika port tidak ditetapkan dengan betul, anda tidak boleh memasuki bekas dan tidak boleh mengakses pangkalan data MySQL. Kita boleh menyemak sama ada port kontena ditetapkan dengan betul dengan menggunakan arahan berikut:

docker port [容器ID]
Salin selepas log masuk

Jika anda tidak melihat maklumat port dalam konsol, ini bermakna port tidak berjaya ditetapkan. Kami boleh melakukan semula persediaan bekas menggunakan arahan berikut:

docker run --name [容器名称] -p [端口号]:3306 -e MYSQL_ROOT_PASSWORD=[密码] -d mysql:latest
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
  1. Semak jenis rangkaian kontena MySQL

Secara lalai, Docker menggunakan parameter "-- network=bridge" Buat rangkaian untuk bekas. Ini akan meletakkan bekas di lokasi rangkaian yang sama dengan hos, membenarkan sebarang proses yang menjalankan bekas untuk mengakses pangkalan data MySQL di dalam bekas. Walau bagaimanapun, dalam beberapa kes, kita perlu menggunakan jenis rangkaian lain, seperti hos atau tiada. Oleh itu, sebelum cuba memasuki bekas MySQL, anda mesti memastikan bahawa jenis rangkaian bekas itu ditetapkan dengan betul.

Kami boleh menggunakan arahan berikut untuk menyemak jenis rangkaian bekas:

docker inspect [容器ID] | grep NetworkMode
Salin selepas log masuk

Jika jenis rangkaian bukan jambatan, anda perlu menjalankan semula arahan docker untuk menetapkan jenis rangkaian kontena yang betul.

  1. Semak pembolehubah persekitaran kontena MySQL

Apabila menjalankan bekas MySQL, anda perlu menentukan kata laluan pengguna root MySQL melalui pembolehubah persekitaran, contohnya:

docker run --name [容器名称] -p [端口号]:3306 -e MYSQL_ROOT_PASSWORD=[密码] -d mysql:latest
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

Jika pembolehubah persekitaran tidak ditetapkan, pangkalan data MySQL tidak boleh diakses dan bekas MySQL tidak boleh dimasukkan. Oleh itu, kita mesti memastikan bahawa semua pembolehubah persekitaran yang diperlukan ditetapkan dengan betul.

  1. Periksa sama ada pangkalan data MySQL telah dimulakan

Akhir sekali, jika anda tidak boleh memasukkan bekas MySQL, ia mungkin kerana pangkalan data MySQL tidak dimulakan dengan betul. Kita boleh menyemak status pangkalan data MySQL melalui arahan berikut:

docker logs [容器ID] | grep "MySQL Community Server"
Salin selepas log masuk

Jika anda melihat maklumat seperti "MySQL Community Server... started" dalam log, ia bermakna pangkalan data MySQL telah dimulakan dengan jayanya. Jika anda tidak melihat maklumat ini, anda perlu menyemak sama ada pembolehubah persekitaran kontena, nombor port, dsb. dikonfigurasikan dengan betul.

Ringkasnya, jika anda tidak boleh memasukkan pangkalan data MySQL dalam bekas Docker, ia mungkin disebabkan oleh mana-mana faktor di atas. Kami perlu menyelesaikan masalah ini satu demi satu dan menetapkan konfigurasi dan pembolehubah persekitaran yang betul untuk memastikan bekas MySQL berjalan dengan betul dalam persekitaran Docker.

Atas ialah kandungan terperinci Apakah yang perlu saya lakukan jika docker tidak dapat memasuki mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan