phpMyAdmin kann bei der Verwendung von Docker-Compose keine Verbindung zu MySQL herstellen, es funktioniert mit "Docker Run"
Ich versuche gerade, einen neuen Server zu konfigurieren, auf dem Ubuntu 16.04 LTS ausgeführt wird.
Außerhalb des Dockers läuft eine Anwendung: Mein nginx Reverse Proxy / Webserver. Dies sollte nicht stören, da es nur an Port 80 und 443 überwacht. Der Zugriff auf die PMA-Schnittstelle funktioniert einwandfrei.
Derzeit laufen drei Docker-Container: ein PHP-FPM-Container (der die von nginx stammende PHP-Verarbeitung übernimmt), MySQL und phpMyAdmin. Alle drei werden von docker-compose erstellt. Die .yml-Datei sieht folgendermaßen aus:
version: "3" services: php-fpm: build: context: /srv/docker/dockerfiles/php-fpm image: php-fpm:latest ports: - 9000:9000 volumes: - "/srv/docker/volumes/php-fpm/config/:/usr/local/etc/php/" - "/srv/docker/volumes/php-fpm/ssh/:/root/.ssh/" - "/srv/www/:/srv/www/" - "/srv/docker/volumes/php-fpm/logs/:/var/log/php-fpm/" restart: unless-stopped mysql: image: mysql/mysql-server:latest ports: - 3306:3306 environment: - MYSQL_ROOT_PASSWORD=<insert secure password> - MYSQL_ROOT_HOST=sintra01 volumes: - "/srv/docker/volumes/mysql/:/var/lib/mysql" restart: unless-stopped phpmyadmin: image: phpmyadmin/phpmyadmin:latest ports: - 8080:80 - 8443:443 environment: - PMA_HOST=sintra01 - PMA_PORT=3306 volumes: - "/srv/docker/volumes/phpmyadmin/config/:/etc/phpmyadmin/" restart: unless-stopped
(Bitte ignorieren Sie die Massen der Bände, ich weiß, dass das schlecht ist)
Das funktioniert jetzt nicht. Beim Klicken auf Login im PMA-Login-Formular wird folgende Fehlermeldung angezeigt: #2002 - No such file or directory — The server is not responding
undmysqli_real_connect(): (HY000/2002): No such file or directory
Manuelles Ausführen des PMA-Containers mithilfe von sudo docker run --name myadmin -d -e PMA_HOST=sintra01 -p 8080:80 -p 8443:443 phpmyadmin/phpmyadmin
es funktioniert perfekt. Ich kann auch eine Verbindung zur Datenbank herstellen, indem Sie z. B. MySQL Workbench verwenden, unabhängig davon, ob Sie Compose oder Docker ausführen. Ich denke, der Täter muss in gewisser Weise Docker-Compose sein.
EDIT: OK, ich habe offenbar auch Auswirkungen auf den PHP-Container. Ich kann von keinem PHP-Skript aus eine Verbindung zur Datenbank herstellen.
0 Antworten auf die Frage
Verwandte Probleme
-
3
OpenX: mySql VS PostgreSQL
-
4
Wie kann ich eine MySQL-Datenbank am besten in eine Zugangsdatenbank konvertieren?
-
6
Wie kann ich verhindern, dass Dienste beim Booten unter Ubuntu gestartet werden?
-
2
Wie kann ich meine Datenbank wiederherstellen?
-
6
Ist MySQL standardmäßig mit OS X Leopard 10.5 oder 10.6 installiert?
-
4
Warum wirft PHP nach "mysql_connect" oder bei "mysql_close" "Segmentation fault (11)"?
-
3
Verbindungsproblem zu MySQL auf einem anderen Rechner im LAN
-
3
Hilfe beim Einrichten von MySQL (zur Verwendung mit PHP und Apache) unter OS X
-
10
MySQL startet nicht!
-
1
Mac-Webserver, MySQL-Sicherheit