嗨,我试图使用Laravel SailDocker环境安装新的Laravel项目。首先,它向我显示“Docker is not running”错误。然后我发现,我需要以无根的方式启动Docker。我解决了它,阅读这个URL:[https://docs.docker.com/engine/install/linux-postinstall/].
在此之后,我使用Laravel Sail成功安装了Laravel。然后我跑
./vendor/bin/sail up -d
我可以在浏览器中查看Laravel项目。但是当我运行任何其他artisan命令,如./vendor/bin/sail artisan route:list
或sail命令作为sail shell
时,所有的docker容器都被强制自动关闭。它显示了这个错误。
帆船不跑了。
您可以使用以下命令进行航行:'./sail up'或'./sail up -d'
有什么建议吗?我在Ubuntu 20.04 LTS版本上遇到了这个问题。
5条答案
按热度按时间t5zmwmid1#
如果您在Windows上使用WSL,请确保正确设置WSL集成:设置->请求->WSL集成+切换Linux版本
6za6bjd02#
在安装Laravel Sail之前,我一直在使用Laradock。也许有一些冲突。所以我备份了我所有的数据库,然后我用这段代码删除了所有的容器。
sudo docker rmi -f $(docker images -a -q)
.然后安装新的Laravel项目,它工作了。请阅读我下面的评论,因为它对我来说是一个更好的解决方案。
apeeds0o3#
很简单,也许你没有运行Docker的权限。在Linux中,首先使用
sudo -s
,然后使用./vendor/bin/sail up -d
8wigbo564#
Sail首先检查当前是否有任何
docker-compose
进程的状态为Exit
。如果他们中的任何一个有,那么它将有力地摧毁所有其他服务。这就是您在键入任何sail
子命令时所看到的。你可以在这里看到代码:https://github.com/laravel/sail/blob/87c63c2956749f66e43467d4a730b917ef7428b7/bin/sail#L44-L49运行
sail up
以启动进程,然后使用docker-compose ps
检查所有服务是否正在运行,并且没有任何服务具有Exit
状态。我也遇到了同样的问题,在查看代码和检查我的服务时,我注意到数据库在我启动后不久就退出了。
tv6aics15#
很多人说这是因为许可问题。然而,对我来说,在OSX 12.6.2(Monterey)上,这是因为Docker是作为我的本地用户运行的,它不在我的路径中。一旦我添加了
$HOME/.docker/bin
到我的路径,它工作得很好。vi ~/.zshrc
$HOME/.docker/bin
添加到路径source ~/.zshrc
./vendor/bin/sail up
我正在以本地用户身份运行Docker v4.22,而不是system.