У меня есть файл docker compose, который в основном пытается создать среду в стиле WAMP / LAMP.
По сути, PHPMyAdmin не может подключиться к MySQL. Просматривая ответы здесь, выяснилось, что это проблема устаревшей аутентификации с использованием MySQL Image 8, поэтому я добавил:
command: --default-authentication-plugin=mysql_native_password
но это не сработало, поэтому я опустился до mysql image5.7 и проблема все еще присутствует. По какой-то причине я не могу подключиться к MySQL и получаю сообщение об ошибке:
mysqli_real_connect(): php_network_getaddresses: getaddrinfo failed: Try again
и
mysqli_real_connect(): (HY000/2002): php_network_getaddresses: getaddrinfo failed: Try again
Вот копия моего Docker Compose, который, я думаю, не делает ничего странного.
Надеясь, что кто-то может уточнить это для меня.
version: "3.1"
services:
site:
build: .
ports :
- "80:80"
volumes:
- ./www:/var/www/html/
links:
- database
networks:
- php-network
#######################################
# PHP MY ADMIN
#######################################
phpmyadmin:
build:
context: .
dockerfile: PHPMYADMIN.Dockerfile
restart: always
links:
- database:mysql
environment:
PMA_HOST: mysql
PMA_PORT: 3306
ports:
- "8080:80"
environment:
- MYSQL_USERNAME=admin
- MYSQL_PASSWORD=root
networks:
- php-network
#######################################
# MySQL server
#######################################
database:
image: mysql:5.7.25
ports:
- "3306:3306"
container_name: db-mysql
restart: always
environment:
- MYSQL_ROOT_PASSWORD=root
- MYSQL_DATABASE=test_db
- MYSQL_USER=admin
- MYSQL_PASSWORD=root
networks:
- php-network
networks:
php-network:
driver: bridge
Я также видел упоминание флага «зависит от», который тоже пробовал, но он также не позволил мне подключиться. У меня была одна и та же ошибка.