docker-compose php mysqli соединение отказано - PullRequest
0 голосов
/ 23 октября 2019

Я пытаюсь подключиться с помощью 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
...