При подключении из сценария PHP соединение с docker mysql отклонено - PullRequest
1 голос
/ 01 апреля 2019

В основном я хочу запустить стек LAMP в контейнере Docker. Пока все службы работают, но как только я пытаюсь подключиться к mysql из скрипта PHP, я получаю следующую ошибку:

Warning: mysqli::__construct(): (HY000/2002): Connection refused 

докер-compose.yml

version: '3.2'
services:
  php:
    build: ./php/
    networks:
      - backend
    volumes:
      - './public/:/var/www/html'
  apache:
    build: ./apache/
    depends_on:
      - php
      - mysql
    networks:
      - frontend
      - backend
    ports:
      - '8080:80'
    volumes:
      - './public/:/var/www/html'
  mysql:
    image: 'mysql:5.6.40'
    ports:
      - "3306:3306"
    networks:
      - backend
    environment:
        - MYSQL_DATABASES=test
        - MYSQL_ROOT_PASSWORD=root
        - MYSQL_HOST=127.0.0.1
        - MYSQL_PORT=3306
        - MYSQL_USER=user
        - MYSQL_PASSWORD=password
        - MYSQL_MY_DATABASE=test
networks:
  frontend: null
  backend: null

Dockerfile для PHP:

FROM php:7.2.7-fpm-alpine3.7
RUN apk update; \
    apk upgrade;
RUN docker-php-ext-install mysqli

Я проверил это с помощью следующего подхода:

docker exec -ti <mysql_docker> bash 

и использовал то же самое пространство для входа в режим mysql:

mysql -uroot -h127.0.0.1 -P3306 -p  

и с этим проблем нет.

Так что может привести к отказу в вышеуказанном соединении?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...