Maison >Opération et maintenance >Docker >docker mysql ne s'exécute pas
Docker est une plateforme de conteneurisation open source qui aide les développeurs à créer, déployer et exécuter des applications plus facilement.
MySQL est un système de gestion de bases de données relationnelles largement utilisé et l'une des images les plus populaires sur Docker Hub. Cependant, parfois lors de l'exécution de MySQL dans Docker, vous rencontrerez des problèmes, tels que MySQL ne s'exécutant pas.
Dans cet article, nous explorerons les raisons pour lesquelles Docker MySQL ne s'exécute pas et comment les résoudre.
Analyse des causes
Lors de l'exécution de MySQL dans Docker, vous constaterez peut-être que le serveur MySQL n'est pas installé correctement. Cela peut être dû au fait que le conteneur Docker ne télécharge pas correctement l'image MySQL.
Pour résoudre ce problème, vous pouvez télécharger l'image MySQL à l'aide de la commande suivante :
docker pull mysql:latest
Même si le serveur MySQL est correctement installé, il peut y avoir des problèmes de configuration. Par exemple, si le serveur MySQL n'est pas configuré correctement, il peut ne pas démarrer, entraînant une incapacité à s'exécuter.
Pour résoudre ce problème, vous pouvez utiliser la commande suivante pour démarrer le serveur MySQL dans le conteneur Docker :
docker run --name mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -d mysql:tag
Où, PASSWORD est votre mot de passe root MySQL et tag est la balise de version MySQL que vous souhaitez utiliser.
Lors de l'exécution du serveur MySQL dans Docker, si les autorisations du répertoire de montage de la base de données ne sont pas configurées correctement, MySQL peut ne pas être exécuté.
Pour résoudre ce problème, vous pouvez utiliser la commande suivante pour démarrer le conteneur Docker et configurer les autorisations du répertoire de montage de la base de données :
docker run --name mysql -v /your/data/dir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -d mysql:tag --default-authentication-plugin=mysql_native_password
Parmi eux, /your/data/dir est le répertoire de montage de la base de données que vous souhaitez configurer, et PASSWORD est votre mot de passe racine MySQL, tag est la balise de version MySQL que vous souhaitez utiliser.
Solution
Comme mentionné précédemment, si l'image MySQL n'est pas installée correctement, MySQL peut ne pas s'exécuter. Vous pouvez utiliser la commande suivante pour vérifier si l'image MySQL est correctement installée :
docker images | grep mysql
S'il y a une chaîne mysql dans la sortie, l'image MySQL est correctement installée.
Si vous utilisez une balise de version MySQL non prise en charge, MySQL peut ne pas s'exécuter. Pour résoudre ce problème, vous pouvez afficher les balises de version actuellement disponibles à l'aide de la commande suivante :
docker search mysql
Ensuite, démarrez le conteneur MySQL avec les balises de version prises en charge.
Si le serveur MySQL n'est pas démarré, aucune requête ne peut être exécutée. Pour vérifier si le serveur MySQL fonctionne correctement, vous pouvez utiliser la commande suivante :
docker ps -a
Si le conteneur MySQL n'est pas en cours d'exécution, vous pouvez utiliser la commande suivante pour démarrer le conteneur MySQL :
docker start mysql
Si la base de données du conteneur MySQL Si le répertoire de montage n'est pas configuré correctement, l'exécution échouera. Vous pouvez utiliser la commande suivante pour vérifier si le répertoire de montage de la base de données est correctement configuré :
docker inspect mysql
Si le répertoire de montage de la base de données n'est pas configuré correctement, vous pouvez utiliser la commande suivante pour redémarrer le conteneur MySQL :
docker stop mysql docker rm mysql docker run --name mysql -v /your/data/dir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=PASSWORD -d mysql:tag --default-authentication-plugin=mysql_native_password
Parmi eux, /your /data/dir est ce que vous voulez Configurez le répertoire de montage de la base de données, PASSWORD est votre mot de passe root MySQL et tag est la balise de version MySQL que vous souhaitez utiliser.
Conclusion
Les problèmes de non-exécution lors de l'exécution de Docker MySQL peuvent avoir de nombreuses raisons, notamment une installation incorrecte du serveur MySQL, une configuration incorrecte du serveur, des problèmes d'autorisation, etc. Pour résoudre ce problème, vous pouvez utiliser la solution de contournement fournie dans cet article. Dans le même temps, il est également nécessaire de prêter attention à l'apprentissage et à la pratique de la technologie de conteneurisation et de cultiver les capacités techniques professionnelles afin de mieux utiliser Docker pour créer votre propre environnement de développement logiciel.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!