docker-composer wordpress mysql connexion refusée
J'ai créé une petite docker-compose.yml
qui avait l'habitude de travailler comme un charme pour déployer des petits WordPress instances. Il ressemble à ceci:
wordpress:
image: wordpress:latest
links:
- mysql
ports:
- "1234:80"
environment:
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_NAME: wordpress
WORDPRESS_DB_PASSWORD: "password"
WORDPRESS_DB_HOST: mariadb
MYSQL_PORT_3306_TCP: 3306
volumes:
- /srv/wordpress/:/var/www/html/
mysql:
image: mariadb:latest
mem_limit: 256m
container_name: mariadb
environment:
MYSQL_ROOT_PASSWORD: "password"
MYSQL_DATABASE: wordpress
MYSQL_USER: wordpress
MYSQL_PASSWORD: "password"
volumes:
- /srv/mariadb:/var/lib/mysql
Mais quand je commence maintenant (peut-être depuis le panneau de mise à jour de Docker version 1.9.1, construire a34a1d5
), il ne parvient pas
wordpress_1 | Warning: mysqli::mysqli(): (HY000/2002): Connection refused in - on line 10
wordpress_1 |
wordpress_1 | MySQL Connection Error: (2002) Connection refused
Quand je chat /etc/hosts
de la wordpress_1
il y a des entrées pour MySQL:
172.17.0.10 mysql 12a564fdbc56 mariadb
et je suis capable de la commande ping sur le serveur MariaDB.
Quand je docker-compose up
, WordPress est installé et après plusieurs redémarrages de l'MariaDB conteneur imprime:
Version: '10.0.22-MariaDB-1~jessie' socket: '/var/run/mysqld/mysqld.sock' port: 3306 mariadb.org binary distribution
Qui devaient indiquer à être en cours d'exécution, n'est-ce pas?
Comment puis-je obtenir le WordPress pour être en mesure de se connecter à l'MariaDB conteneur?
Merci pour votre réponse. Ses cours d'exécution sur 3306, comme vous pouvez le voir sur la mise en route mariadb docker message (faites défiler vers la droite)... toujours en ai aucune idée, pourquoi cette settup ne fonctionne plus
C'est à l'intérieur du conteneur, je me demande qu'est-ce que l'exposé de port sur le panneau contenant: docker du port de <CONTAINER_ID>
Merci @Michael pour votre volonté d'aider. Un redémarrage complet après la mise à jour du serveur résolu aucun des comportements bizarre et le programme d'installation a commencé à travailler à nouveau.
Depuis que ce sujet a été récemment active, je note que WORDPRESS_DB_HOST doit pointer vers la base de données du service de nom comme indiqué dans le menu fixe-composition de fichier, qui, dans le cas ci-dessus est "mysql" et non pas "mariadb".
OriginalL'auteur Harry | 2015-12-03
Vous devez vous connecter pour publier un commentaire.
La raison de ce comportement était probablement lié à un noyau récent et le panneau de mise à jour. J'ai reconnu plusieurs autres problèmes de connexion dans d'autres docker-composition de configurations. Donc j'ai redémarré le serveur (et pas simplement le panneau de service) et de ne pas avoir eu toute les questions de ce genre depuis.
Le redémarrage de docker démon ne pas résoudre ce problème.
OriginalL'auteur Harry
Pour résoudre ce problème, la première chose à faire est de:
Ajoutez le code suivant à wordpress & conteneurs de base de données (dans le menu fixe-composition de fichier):
Ce sera assurez-vous de la Base de données est démarrée et initialisée avant de wordpress conteneur essayer de s'y connecter. Puis redémarrez le panneau moteur
ou (pour ubuntu+ de 15 ans)
Ici la configuration complète qui a fonctionné pour moi, pour l'installation de wordpress avec MariaDB:
OriginalL'auteur Mohamed Salem Lamiri
J'ai été en utilisant votre menu fixe-composer.yml, avait le même problème. Juste le redémarrage n'a pas de résoudre. Après près d'une heure de recherches sur les journaux, j'ai trouvé le problème était le suivant:
wordpress
démarrage du service de raccordementmysql
service avant qu'il avait parfaitement commencé. Simplement en ajoutant depends_on ne va pas aider.Docker Composer attendre récipient X avant de commencer à Yles travaux pourraient démarrer le
db
serveur avant. Lorsqu'il a pleinement démarrage, exécutezdocker-compose up
. Ou tout simplement l'utilisation de services externes.depends_on: database
dans wordpress service, mais encore ce n'est pas de travail pour moiOriginalL'auteur Awakening Byte
J'ai moi aussi eu des problèmes ici. J'ai été en utilisant le panneau-composer de mettre en place plusieurs sites wordpress sur une seule (micro) Serveur Privé Virtuel, y compris
phpmyadmin
etjwilder/nginx-proxy
en tant que contrôleur.$ docker logs XXXX
aidera à indiquer les points de préoccupation. Dans mon cas, les bases de données MariaDB permettrait de garder le redémarrage de tous les temps.Il s'avère que ce genre de choses juste ne peut pas tenir sur un micro 512M Seul PROCESSEUR de service. Je n'ai jamais reçu de messages d'erreur qui me dit directement que la taille était un problème, mais après l'ajout de choses, j'ai réalisé que lorsque toutes les bases de données de départ, j'ai été à court de mémoire. Une mise à niveau à 1 go, 1 PROCESSEUR de service a très bien fonctionné.
OriginalL'auteur zipzit
J'ai eu presque le même problème, mais juste de redémarrer le WordPress conteneur m'a sauvé:
J'espère que cela aide beaucoup de gens.
OriginalL'auteur gold-kou
Dans mon cas, j'utilise Mysql (pas MariaDb), mais j'ai eu le même problème.
Après la mise à niveau de la version de MySQL, il fonctionne très bien.
Vous pouvez voir mon open source docker-composition de configuration: https://github.com/rimiti/wordpress-dockerized-environment
OriginalL'auteur Dimitri