我想在工作中使用 Docker 为我的 Symfony3 应用程序创建一个本地服务器。事实是,我以前从未使用过 Docker。
我看了一些关于 Docker 的教程,然后使用了这个 repo https://github.com/anacicconi/dockerized-symfony从某个地方开始,我用 symfony new
创建了一个新项目命令以确保代码中没有错误。
当我使用 docker exec
通过我的容器时,我的项目文件的修改与本地文件完全相同(如果我将我的 Twig 模板中的 welcome
替换为 potato
,然后对我容器中的文件执行 cat
,它将反射(reflect)所做的更改)。
但是,当我转到 localhost:8000
用我的浏览器,或者如果我用 curl
显示它在我的控制台中,它仍然是旧的 Symfony 索引页面。
我试图简单地删除模板文件,并且正如预期的那样,它产生了一个错误,尽管它没有显示类似 Symfony 的错误,而是一个正常的客户端错误(错误 500)。
我还尝试创建一个路由,并将其链接到一个新的模板文件,但这给了我一个 404 错误(再一次,不是我通常从 Symfony 得到的所有解释)。
我多次尝试重新创建容器,删除缓存文件夹,在 Chrome 和 Firefox 上尝试,更改一些配置文件......但我现在没有想法。
(编辑)一些同事帮我解决了 Symfony 错误问题,他们告诉我,既然我们要构建一个 API,那么 View 并不重要。我仍然很想知道答案,但它不像一小时前那么重要。
(edit2) 当我使用链接localhost:8000/app_dev.php
时问题似乎消失了.这对我来说已经足够了。
最佳答案
运行容器时,您可能缺少端口转发:
docker run -d -p 127.0.0.1:22:22 -p 127.0.0.1:8000:8000 you_contaner_image_name
通过 ssh 连接到机器的端口 22
关于Symfony 与 docker,编辑麻烦,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45549798/