


Bagaimana docker menyelesaikan masalah kegagalan untuk memulakan mysql
Apabila menggunakan docker untuk menggunakan mysql, anda mungkin menghadapi kegagalan permulaan. Artikel ini akan menerangkan secara terperinci cara menyelesaikan situasi ini.
1. Penerangan Masalah
Mysql ialah pangkalan data hubungan yang sangat popular, dan Docker ialah teknologi kontena. Menggunakan Docker membolehkan kami menggunakan pangkalan data Mysql dengan mudah, tetapi kadangkala memulakan bekas Mysql gagal. Kami mendapati bahawa permulaan gagal apabila menggunakan arahan Docker berikut untuk memulakan bekas Mysql:
docker run --name mysql -e MYSQL_ROOT_PASSWORD=mypassword -d mysql:5.7
2. Analisis masalah
Apabila memulakan bekas mengikut arahan di atas, -e parameter menentukan pembolehubah persekitaran , di mana MYSQL_ROOT_PASSWORD ialah kata laluan pengguna root Mysql. mysql: 5.7 ialah versi cermin pangkalan data Mysql. Walau bagaimanapun, kadangkala kita menghadapi kegagalan untuk memulakan bekas. Pada masa ini, kita boleh menganalisis punca ralat dengan melihat log bekas permulaan.
docker logs mysql
Didapati bekas Mysql terhempas semasa ia dimulakan. Oleh itu, kita perlu mencari punca kesilapan.
3. Penyelesaian Masalah
Kita boleh menyelesaikan masalah ini melalui langkah-langkah berikut:
1. Periksa sama ada bekas itu berjalan
docker ps
Jika bekas itu sudah Semasa berjalan, kita hanya perlu melihat log kontena.
2. Lihat log kontena
docker logs mysql
Mesej ralat berikut boleh ditemui dalam log:
[ERROR] [MY-012144] [InnoDB] ./ibdata1 can't be opened in read-write mode [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error. [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine: 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed. [ERROR] [MY-010119] [Server] Aborting
Dengan menganalisis log ralat, kita dapat melihat bahawa Mysql gagal dimulakan Sebabnya ialah direktori data tidak boleh ditulis. Untuk menyelesaikan masalah ini, kita perlu mencari lokasi direktori data dan menetapkan kebenarannya kepada boleh tulis.
3 Lihat direktori data bekas Mysql
docker inspect mysql | grep -i datadir
Dalam hasil keluaran, kita boleh mencari direktori data bekas Mysql, seperti yang ditunjukkan di bawah:
"DataDir": "/var/lib/mysql"
Kita perlu menetapkan kebenarannya supaya boleh ditulis, sila gunakan arahan berikut untuk melihat dan menukar kebenaran direktori:
docker exec -it mysql bash chmod -R 777 /var/lib/mysql exit
Kemudian kita boleh memulakan semula bekas:
docker start mysql
Selepas langkah di atas, Apabila kita memulakan bekas Mysql semula, ia boleh bermula dengan jayanya.
4. Ringkasan
Artikel ini menyediakan penyelesaian kepada kegagalan Docker untuk memulakan Mysql. Jika bekas Mysql gagal dimulakan, kita boleh mencari punca ralat dengan menyemak log kontena dan menyelesaikannya tepat pada masanya.
Atas ialah kandungan terperinci Bagaimana docker menyelesaikan masalah kegagalan untuk memulakan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Docker adalah kemahiran yang mesti ada untuk jurutera DevOps. 1.Docker adalah platform kontena sumber terbuka yang mencapai pengasingan dan mudah alih dengan aplikasi pembungkusan dan kebergantungan mereka ke dalam bekas. 2. Docker bekerja dengan ruang nama, kumpulan kawalan dan sistem fail bersekutu. 3. Penggunaan asas termasuk mencipta, menjalankan dan menguruskan bekas. 4. Penggunaan lanjutan termasuk menggunakan DockerCompose untuk menguruskan aplikasi multi-kontainer. 5. Kesilapan umum termasuk kegagalan kontena, masalah pemetaan pelabuhan, dan masalah ketekunan data. Kemahiran penyahpepijatan termasuk log melihat, memasukkan bekas, dan melihat maklumat terperinci. 6. Pengoptimuman prestasi dan amalan terbaik termasuk pengoptimuman imej, kekangan sumber, pengoptimuman rangkaian dan amalan terbaik untuk menggunakan Dockerfile.

Kaedah Peningkatan Keselamatan Docker termasuk: 1. Gunakan parameter-cap-drop untuk menghadkan keupayaan Linux, 2. Buat bekas baca sahaja, 3 set tag Selinux. Strategi ini melindungi bekas dengan mengurangkan pendedahan kelemahan dan mengehadkan keupayaan penyerang.

Dockervolumes memastikan data tetap selamat apabila bekas dimulakan semula, dipadam, atau berhijrah. 1. Buat Jilid: DockervolumecreatemyData. 2. Jalankan bekas dan gunung: dockerrun-it-vmydata:/app/dataubuntubash. 3. Penggunaan lanjutan termasuk perkongsian data dan sandaran.

Menggunakan Docker di Linux dapat meningkatkan kecekapan pembangunan dan penempatan. 1. Pasang Docker: Gunakan skrip untuk memasang Docker di Ubuntu. 2. Sahkan pemasangan: Jalankan Sudodockerrunhello-World. 3. Penggunaan Asas: Buat kontena Nginx Dockerrun-Namemy-Nginx-P8080: 80-Dnginx. 4. Penggunaan Lanjutan: Buat imej tersuai, bina dan lari menggunakan Dockerfile. 5. Pengoptimuman dan amalan terbaik: Ikuti amalan terbaik untuk menulis dockerfiles menggunakan pelbagai peringkat membina dan dockercompose.

Docker menyediakan tiga mod rangkaian utama: rangkaian jambatan, rangkaian tuan rumah dan rangkaian overlay. 1. Rangkaian Jambatan sesuai untuk komunikasi antara konainer pada hos tunggal dan dilaksanakan melalui jambatan maya. 2. Rangkaian tuan rumah sesuai untuk senario di mana rangkaian berprestasi tinggi diperlukan, dan kontena secara langsung menggunakan timbunan rangkaian tuan rumah. 3. Rangkaian Overlay sesuai untuk kluster Dockerswarm Multi-Host, dan komunikasi silang host direalisasikan melalui lapisan rangkaian maya.

Dockerswarm boleh digunakan untuk membina kelompok kontena berskala dan sangat tersedia. 1) Mulakan kelompok kawanan menggunakan DockersWarminit. 2) Sertai kelompok kawanan untuk menggunakan dockerswarmjoin-terperangkap:. 3) Buat perkhidmatan menggunakan DockerServiceCreate-Namemy-Nginx-Replicas3nginx. 4) Menyebarkan perkhidmatan kompleks menggunakan dockerStackDeploy-cdocker-compose.ymlmyApp.

Inti pemantauan Docker adalah untuk mengumpul dan menganalisis data operasi bekas, terutamanya termasuk petunjuk seperti penggunaan CPU, penggunaan memori, trafik rangkaian dan cakera I/O. Dengan menggunakan alat seperti Prometheus, Grafana dan Cadvisor, pemantauan komprehensif dan pengoptimuman prestasi bekas dapat dicapai.

Untuk mendapatkan versi Docker, anda boleh melakukan langkah -langkah berikut: Jalankan arahan Docker "Docker -version" untuk melihat versi klien dan pelayan. Untuk MAC atau Windows, anda juga boleh melihat maklumat versi melalui tab versi Docktop GUI atau menu desktop Docker.
