【发布时间】:2021-06-29 05:58:20
【问题描述】:
为了创建一个 web 服务,我创建了一个新项目,其中包含一个容器 php-nginx 用于 web-server,postgresql-13 用于 db,所以我创建了我的Dockerfile 基于 FROM php:7.4-fpm-alpine 用于 php-nging 容器和 docker-compose.yml 用于我的开发。
之前为了运行容器,我在本地(Ubuntu Bionic 下的主机)文件夹中创建了 symfony squeleton 并运行 make:entity user 和 make:crud User 以获得基本视图。
运行容器后,我尝试打开 url localhost:8000/user 并返回:No route found for "GET /user"
我用php bin/console debug:router检查我的本地(主机),它返回:
…
user_index GET ANY ANY /user/
user_new GET|POST ANY ANY /user/new
user_show GET ANY ANY /user/{id}
路线似乎还可以
但是如果我在容器中做同样的事情,用户就没有路由。
问题是为什么路由在主机中是可以的,而不是在 docker 容器中?
【问题讨论】:
-
请分享更多细节和你的调试尝试
-
@Nico,感谢您的关注,我可以添加我的 Dockerfile 和 docker-compose.yml 但我看不出它对遇到同样问题的人有什么帮助?并且关于调试主机和容器中的调试:路由器是关键,其他测试,例如关于容器中的文件或文件夹所有者的测试无助于理解问题
-
欢迎提供更多详细信息,以确保这有助于解决相同问题的其他人。如果不提供任何解决问题的尝试(例如:Dockerfiles、PHP 配置、Symfony 配置),很可能没有人可以提供帮助,因此没有人可以从您的情况中学习
-
@NicoHaase 如果我没有找到解决这个问题的方法,我同意你的看法,但随着它的解决,我认为这足以帮助人们如何在 docker 中使用 Sf5 出现此错误,不?