Maison > Opération et maintenance > Docker > docker mysql ne s'exécute pas

docker mysql ne s'exécute pas

王林
Libérer: 2023-05-13 13:16:37
original
979 Les gens l'ont consulté

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

  1. Le serveur MySQL n'est pas installé correctement

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
Copier après la connexion
  1. Le serveur MySQL n'est pas configuré correctement

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
Copier après la connexion

Où, PASSWORD est votre mot de passe root MySQL et tag est la balise de version MySQL que vous souhaitez utiliser.

  1. Problème d'autorisations du répertoire de montage de la base de données

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
Copier après la connexion

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

  1. Vérifiez si l'image MySQL est correctement installée

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
Copier après la connexion

S'il y a une chaîne mysql dans la sortie, l'image MySQL est correctement installée.

  1. Utilisez la balise de version correcte

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
Copier après la connexion

Ensuite, démarrez le conteneur MySQL avec les balises de version prises en charge.

  1. Vérifier l'état du serveur MySQL

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
Copier après la connexion

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
Copier après la connexion
  1. Vérifiez le répertoire de montage de la base de données

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
Copier après la connexion

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
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal