laravel-8使用docker访问存储



无法访问/public/storage
我已完成php artisan storage:link

当使用我的本地环境时,这些文件是可见的,但当使用相同的代码切换到Docker环境时,我无法访问它们(找不到(
我的文件所有者与我的Docker配置中的相同
我通过访问进行测试http://127.0.0.1:8000/storage/test.png
其中test.png位于public/storage
我的docker compose文件中有3个服务

  1. Nginx
  2. PHP
  3. MYSQL


我认为问题来自权限,但我无法找到解决方案

据我所知,每个docker都有一个IP地址。因此,您必须使用docker容器的IP地址启动服务器。但是,为了避免docker的动态IP地址出错,您使用0.0.0.0而不是docker的IP地址,因为0.0.0.0表示本地计算机上的所有IPv4地址。要解决您的问题,您可以在docker中使用以下命令。

php artisan serve --host 0.0.0.0

注意


也许你会遇到另一个错误,如果你遇到他们,请告诉我。

如果有人面临同样的问题
我设法通过删除laravel创建的符号链接来解决这个问题,并根据容器内的真实路径从我的nginx容器中创建了我自己的符号链接

最新更新