【问题标题】:laradock php artisan:migrate SQLSTATE[HY000] [2002]laradock php 工匠:迁移 SQLSTATE[HY000] [2002]
【发布时间】:2020-08-20 08:01:46
【问题描述】:

我使用 laradock 有几天了。我让它工作但从今天开始运行时遇到问题 “php工匠迁移” 错误代码:

"Illuminate\Database\QueryException SQLSTATE[HY000] [2002] 
php_network_getaddresses: getaddrinfo failed: 
Name or service not known 
(SQL: SHOW FULL TABLES WHERE table_type = 'BASE TABLE')"

我的容器都已启动并正在运行,我可以访问我的工作区和我的 mysql 容器并查看我的 mysql 容器中的(以前创建的)表。 我的 .env 文件显示:


DB_CONNECTION=mysql
DB_HOST=mysql
DB_PORT=3306
DB_DATABASE=default
DB_USERNAME=root
DB_PASSWORD=root

最值得注意的是我的 DB_HOST 名称是 mysql,这似乎是我发现的关于该主题的大多数线程中的问题。

我的 docker 容器显示:

$ docker-compose ps
        Name                   Command           State            Ports        
-------------------------------------------------------------------------------
f3acb119d329_laradock   docker-entrypoint.sh    Up         0.0.0.0:3307->3306/t
_mysql_1                mysqld                             cp, 33060/tcp       
laradock_docker-in-     dockerd-entrypoint.sh   Up         2375/tcp, 2376/tcp  
docker_1                                                                       
laradock_nginx_1        /bin/bash               Up         0.0.0.0:443->443/tcp
                        /opt/startup.sh                    , 0.0.0.0:8881->80/t
                                                           cp,                 
                                                           0.0.0.0:81->81/tcp  
laradock_php-fpm_1      docker-php-entrypoint   Up         9000/tcp            
                        php-fpm                                                
laradock_phpmyadmin_1   /docker-entrypoint.sh   Exit 128                       
                        apac ...                                               
laradock_redis_1        docker-entrypoint.sh    Up         0.0.0.0:6379->6379/t
                        redis ...                          cp                  
laradock_workspace_1    /sbin/my_init           Up         0.0.0.0:2222->22/tcp
                                                           , 0.0.0.0:3000->3000
                                                           /tcp, 0.0.0.0:3001->
                                                           3001/tcp, 0.0.0.0:80
                                                           01->8000/tcp, 0.0.0.
                                                           0:8080->8080/tcp    

如果有人可以帮助我解决这个问题,那就太好了,因为我整天都试图修复它,但没有成功。如果需要更多信息,请告诉我缺少什么来解决这个问题。

【问题讨论】:

标签: php mysql laravel-artisan laradock


【解决方案1】:

Connection failed: SQLSTATE[HY000] [2002] Connection refused.

请使用 docker 内部 IP 作为主机并尝试连接 MySQL。

使用docker inspect命令获取IP信息。

【讨论】:

  • 谢谢。将主机更改为 docker 容器有所帮助。我的迁移现在又可以工作了。我在我的项目 .env 文件中更改了以下行: DB_HOST=f3acb119d329_laradock_mysql_1 db 主机现在是我的 mysql 容器的 docker 容器。但是,我想知道这个名称是否会更改,因此每次我的容器名称更改时我都必须重新解决这个问题。 IP会更稳定吗?
猜你喜欢
  • 2021-12-03
  • 2019-07-01
  • 2018-07-27
  • 2020-04-10
  • 2019-07-09
  • 2017-01-31
  • 2019-04-13
  • 1970-01-01
  • 2020-10-13
相关资源
最近更新 更多