从PHP脚本连接时docker mysql连接被拒绝

时间:2019-04-01 14:21:16

标签: php mysql docker

基本上,我想在Docker容器中运行LAMP堆栈。 到目前为止,所有服务都在运行,但是当我尝试从PHP脚本中连接到mysql时,出现以下错误:

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

docker-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

适用于PHP的Dockerfile:

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  

,并且没有问题。

那么什么可能导致上述连接被拒绝?

0 个答案:

没有答案