遇到了一个问题,当我运行
php artisan migrate
在包含应用程序的容器中,我收到以下错误:
enter image description here
在调用
php artisan migrate
命令,在mysql容器中我选择了使用哪个数据库(使用评级;)
我将进一步描述我的码头组装的建设,以回答任何问题,你可能有。
docker-compse.yml,数据库设置为:enter image description here
带有数据库设置的.env:enter image description here
database.php的设置(来自Laravel):enter image description here
我尝试将DB_HOST从localhost更改为127.0.0.1、容器(rating-db)或服务名称(lar-db),但都无济于事。
更新:数据库:databases
1条答案
按热度按时间cnjp1d6j1#
好的,我自己找到了解决方案。在这个问题下的评论中写给我的东西在这个例子中是无用的。我想确保没有人对Docker中的数据库有任何误解-你可以创建和使用空数据库,你不需要为此转储。
我的问题的答案是:
很难马上相信这一点,但是在Laravel的.env文件中,您必须在DB_HOST行中指定托管mysql的服务的名称。在我的示例中,该服务名为“rating-db”(来自docker-compose.yml)。
问题后面附有一个.env的屏幕截图,只需在那里找到“DB_HOST”,然后用docker-compose.yml中的mysql服务的名称替换该值