Ich versuche gerade, einen neuen Server mit Ubuntu 16.04 LTS zu konfigurieren.
Es gibt eine Anwendung, die außerhalb von Docker ausgeführt wird: Mein Nginx-Reverseproxy / Webserver. Dies sollte nicht stören, da nur die Ports 80 und 443 überwacht werden. Der Zugriff auf die PMA-Schnittstelle funktioniert einwandfrei.
Derzeit laufen 3 Docker-Container: ein PHP-FPM-Container (der die PHP-Verarbeitung von nginx ü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 von Bänden, ich weiß, das ist schlecht)
Das funktioniert jetzt nicht. Wenn Sie im PMA-Anmeldeformular auf Anmelden klicken, wird die 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 einwandfrei. Ich kann mich auch mit zB MySQL Workbench mit der Datenbank verbinden, unabhängig davon, ob ich Compose oder Docker Run verwende. Ich denke also, der Täter muss in irgendeiner Weise vom Hafenarbeiter komponiert worden sein.
EDIT: OK, ich habe anscheinend auch Auswirkungen auf den PHP-Container. Ich kann von keinem PHP-Skript aus eine Verbindung zur Datenbank herstellen.