No momento, estou tentando configurar um novo servidor que executa o Ubuntu 16.04 LTS.
Existe um aplicativo em execução fora da janela de encaixe: Meu proxy reverso / servidor nginx. Isso não deve interferir porque só escuta nas portas 80 e 443. O acesso à interface PMA funciona bem.
Atualmente, há 3 Contêineres do Docker em execução: um Contêiner do PHP-FPM (que lida com o processamento do php vindo do nginx), MySQL e phpMyAdmin. Todos os 3 deles são criados pelo docker-compose, o arquivo .yml tem a seguinte aparência:
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
(por favor, ignore as massas de volumes, eu sei que isso é ruim)
Agora, isso não funciona. Ao clicar em login no formulário de login da PMA, a seguinte mensagem de erro aparece:
#2002 - No such file or directory — The server is not responding
e mysqli_real_connect(): (HY000/2002): No such file or directory
Execução manual do contêiner PMA usando
sudo docker run --name myadmin -d -e PMA_HOST=sintra01 -p 8080:80 -p 8443:443 phpmyadmin/phpmyadmin
funciona perfeitamente. Eu também posso conectar-me ao DB usando, por exemplo, MySQL Workbench, independentemente da utilização de compor ou docker run. Então eu acho que o culpado tem que ser docker-compose de alguma forma.
EDIT: OK, eu aparentemente também afeta o contêiner do php. Não consigo me conectar ao banco de dados a partir de qualquer script php.
Tags mysql docker phpmyadmin