Search code examples
mysqllaraveldockerlumen

SQLSTATE[HY000] [2002] Connection refused (SQL: select * from information_schema.tables where table_schema = ms_api_shop


I am using Lumen with Docker to create simple API for authentication. After installing LumenPassport, I cannot migrate the database. I can easily connect to the MySQL db with Dbeaver. I have already created one Lumen Docker project for the same purpose, it is the second. The first one worked without a problem. Moreover, I have checked the MySQL databases, ms_api_shop was there

Errors: enter image description here

Here is my docker-compose


services:
  nginx:
    build:
      context: .
      dockerfile: docker/Nginx.Dockerfile
    image: nginx
    ports:
      - 8092:80
    depends_on:
      - fpm
    volumes:
      - ./:/var/www/lumen-docker
    links:
      - mysql

  fpm:
    build:
      context: .
      dockerfile: docker/fpm.Dockerfile
    volumes:
      - ./:/var/www/lumen-docker
    depends_on:
      - mysql
    links:
      - mysql


  mysql:
    image: mysql:5.7
    ports:
      - 33006:3306
    environment:
      - MYSQL_ROOT_PASSWORD=
      - MYSQL_DATABASE=ms_api_shop
      - MYSQL_ROOT_USER=
    volumes:
      - mysql-data:/var/lib/mysql
volumes:
  mysql-data:


And env:

DB_HOST=mysql
DB_PORT=33006
DB_DATABASE=ms_api_shop
DB_USERNAME=
DB_PASSWORD=

Solution

  • In your docker-file, you are binding the 33006 container port to the 3306 of the host port. In case you want to access the MySQL, you should use 3306 not 33006 as you did in your .env