如何使用容器 mysql 服务设置本地 laravel

How to setup local laravel with containered mysql service

我知道像这样的问题有很多答案,但我仍然无法连接。 我有一个 laravel 8 的本地全新安装和一个 docker 容器 运行ning mysql。我能够访问容器并管理它,但是当 运行 migrate 得到“SQLSTATE[HY000] [2002] php_network_getaddresses: getaddrinfo failed: Name or service not known”。一些建议会很好,谢谢。

我的.env:

DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=birdboard
DB_USERNAME=pedro
DB_PASSWORD=123456

我的docker-compose.yml

version: "3.5"

services:
  mysql:
    build: phpdocker/mysql57
    container_name: mysql
    ports:
      - "3306:3306"
    expose:
      # Opens port 3306 on the container
      - "3306"
      # Where our data will be persisted
    volumes:
      - mysql:/var/lib/mysql

# Names our volume
volumes:
  mysql:

可能你的 .env 文件有误

DB_CONNECTION=mysql
DB_HOST=127.0.0.1 
DB_PORT=3306 
DB_DATABASE=birdboard 
DB_USERNAME=pedro 
DB_PASSWORD=123456