为什么我在Docker上收到Laravel拒绝的SQLSTATE[HY000][2002]连接



这是我的docker撰写:

version: '3'
services:
web:
build: .
image: citadel/php7.3
ports:
- "80"
volumes:
- ./src:/home/app/src:cached
container_name: 'studentlaptops'
restart: unless-stopped
tty: true
environment:
- XDEBUG_CONFIG='remote_host=<my-host-name>'
- VIRTUAL_HOST=studentlaptops.docker
#MySQL Service
db:
image: mysql:8.0.1
container_name: sl-db
ports:
- "3306:3306"
environment:
MYSQL_DATABASE: studentlaptops
MYSQL_ROOT_PASSWORD: <password>
volumes:
- dbdata:/var/lib/mysql/
- ./mysql/my.cnf:/etc/mysql/my.cnf
#Volumes
volumes:
dbdata:
driver: local

当我运行docker compose时,它运行得很好。当我通过gui客户端连接时,我可以访问容器中的sl-db数据库。当我运行php artisan migrate时,它成功地进行了迁移。

然而,当我在网络浏览器中点击应用程序时,SQLSTATE[2002]连接被拒绝了。。。

我的env-db部分是:

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=studentlaptops
DB_USERNAME=root
DB_PASSWORD=<password>

在您的情况下,我会更改

DB_HOST=127.0.0.1

DB_HOST=db

哪个是docker 中mysql的名称

相关内容

最新更新