phpMyAdmin не может подключиться к mysql при использовании Docker-Compose, он работает с использованием «docker run»

2050
draconisin

В настоящее время я пытаюсь настроить новый сервер под управлением Ubuntu 16.04 LTS.

За пределами докера работает одно приложение: Мой обратный прокси / веб-сервер nginx. Это не должно мешать, потому что он слушает только на портах 80 и 443. Доступ к интерфейсу PMA работает нормально.

В настоящее время работают 3 Docker-контейнера: PHP-FPM-контейнер (который обрабатывает php-обработку, поступающую из nginx), MySQL и phpMyAdmin. Все 3 из них созданы docker-compose, файл .yml выглядит следующим образом:

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 

(пожалуйста, игнорируйте массы томов, я знаю, что это плохо)

Теперь это не работает. При щелчке по имени входа в форме входа в систему PMA появляется следующее сообщение об ошибке: #2002 - No such file or directory &mdash; The server is not respondingиmysqli_real_connect(): (HY000/2002): No such file or directory

Запуск PMA-контейнера вручную с помощью sudo docker run --name myadmin -d -e PMA_HOST=sintra01 -p 8080:80 -p 8443:443 phpmyadmin/phpmyadmin

это работает отлично. Я также могу подключиться к БД с помощью, например, MySQL Workbench, независимо от использования compose или docker run. Так что я думаю, что виновник должен быть каким-то образом составлен в докере.

РЕДАКТИРОВАТЬ: ОК, по-видимому, это также влияет на контейнер php. Я не могу подключиться к базе данных из любого сценария php.

0

0 ответов на вопрос