laravel-8 存储访问使用 docker

laravel-8 storage accessing using 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 容器创建我自己的符号链接来解决这个问题