Я пытаюсь подключиться с помощью php mysqli к базе данных докера, но следующие настройки в этом случае не работают
$conn = new mysqli('database', 'root', 'docker', 'mydb', '3311');
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
, если я использую те же настройки для подключения к БД через WordPress, будет работать нормально. Что не так в этом случае?
вот мой docker-compose
version: "3"
services:
database:
container_name: database_wp
build:
context: ./docker/database
environment:
- MYSQL_DATABASE=default
- MYSQL_USER=user
- MYSQL_PASSWORD=secret
- MYSQL_ROOT_PASSWORD=docker
- TZ=Europe/Berlin
volumes:
- ./docker/database/data/mysql:/var/lib/mysql
command:
mysqld --innodb-flush-method=littlesync --innodb-use-native-aio=OFF --log_bin=ON
ports:
- "3311:3306"
restart: always
nginx-proxy:
image: jwilder/nginx-proxy
container_name: nginx-proxy
ports:
- "80:80"
- "443:443"
volumes:
- conf:/etc/nginx/conf.d
- vhost:/etc/nginx/vhost.d
- html:/usr/share/nginx/html
- dhparam:/etc/nginx/dhparam
- certs:/etc/nginx/certs:ro
- /var/run/docker.sock:/tmp/docker.sock:ro
environment:
- TZ=Europe/Berlin
restart: always
web_17:
container_name: nginx_web
build:
context: ./docker/nginx
links:
- database
restart: always
volumes:
- ./src:/var/www
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./docker/nginx/sites/web:/etc/nginx/sites-available
- ./docker/nginx/conf.d/:/etc/nginx/conf.d
- ./docker/logs/nginx/:/var/log/nginx/
environment:
- VIRTUAL_HOST=dev.web.com
- TZ=Europe/Berlin
depends_on:
- php-fpm
php-fpm:
container_name: php_fpm_wp
volumes:
- ./src:/var/www
- ./docker/php-fpm/etc/php.ini:/usr/local/etc/php/conf.d/php.ini
build:
context: ./docker/php-fpm
expose:
- 9000
restart: always
environment:
- VIRTUAL_PORT=9001
links:
- database
volumes:
conf:
vhost:
html:
certs:
dhparam:
networks:
default:
external:
name: nginx-proxy