创建一个mysql容器
docker run -p 3307:3306 --name mysql -v /D/workforme/mysql/log:/var/log/mysql -v /D/workforme/mysql/data:/var/lib/mysql -v /D/workforme/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
查看mysql容器ip
docker inspect 容器ID
连接navicat
host localhost
端口填写3307
最关键的laravel env配置
DB_CONNECTION=mysql
DB_HOST=172.17.0.3 #填写上面你查到的mysql容器ip
DB_PORT=3306 #3307不对的 因为连接乐你mysql容器
DB_DATABASE=shopfm
DB_USERNAME=root
DB_PASSWORD=root
小结
如果你host填写127.0.0.1或者host 端口3306 3307 这几种组合我都试过了 没用,因为连接的是你的nginx服务容器 里面没有mysql,你要连接mysql容器的ip,因为你进的是mysql容器,所以端口是填写3306而不是3307,自己试一试就知道了,反正我都试过了,在连接navicat的时候,因为映射容器的端口是3307,所以那里填3307