为了账号安全,请及时绑定邮箱和手机立即绑定

容器内的 Symfony Web 服务器在重新启动时导致问题

容器内的 Symfony Web 服务器在重新启动时导致问题

PHP
qq_遁去的一_1 2023-08-26 19:05:18
我在容器内运行 Symfony 应用程序。它运行良好,但是当我重新启动容器时,容器退出并显示代码 0。我只能docker kill container && docker rm container && docker run -d -p 8000:8000 --name container image/path更新容器。这是我的 Dockerfile 的简化版本FROM php:7.2    RUN docker-php-ext-install pdo pdo_mysqlRUN apt-get update && apt-get install wget -yq && wget https://get.symfony.com/cli/installer -O - | bash && mv /root/.symfony/bin/symfony /usr/local/bin/symfonyCOPY . /appCOPY ./php.ini /usr/local/etc/php/CMD cd /app/ && symfony server:start --no-tlscmddocker restart container回车docker logs_[Web Server/PHP ] Jul 24 14:55:28 |INFO | PHP    listening path="/usr/local/bin/php-cgi" php="7.2.31" port=33139[Web Server/PHP ] Jul 24 14:55:28 |DEBUG| PHP    started[OK] Web server listeningThe Web server is using PHP CGI 7.2.31http://127.0.0.1:8000[WARNING] The local web server is already runningLocal Web ServerListening on http://127.0.0.1:8000The Web server is using PHP CGI 7.2.31Local DomainsWorkersNo WorkersEnvironment VariablesNone然后,它以代码 0 退出。所以我尝试在重新启动之前停止 symfony Web 服务器,但它不起作用。我很困惑,因为问题来自 CMD 语句,但我无法真正更改它,因为我需要在运行容器时启动 Web 服务器。一种可能是在另一个 Web 服务器(如 apache)上运行 symfony 应用程序,但使用 symfony Web 服务器非常方便,我不认为这是生产的最佳实践(但这是一个个人项目)。所以我很困惑为什么它不起作用,如果有人有想法的话
查看完整描述

2 回答

?
慕斯709654

TA贡献1840条经验 获得超5个赞

好吧,运行 symfony 服务器进行生产是一个坏主意,我只是基于 php-apache 映像创建一个新的 docker 映像,一切都工作得更好



查看完整回答
反对 回复 2023-08-26
?
白板的微信

TA贡献1883条经验 获得超3个赞

此行为可能是由于 CMD 中的 cd 命令造成的。您应该使用 WORKDIR 代替,并在 CMD 中仅保留服务器启动命令。我还建议使用 docker compose。

查看完整回答
反对 回复 2023-08-26
  • 2 回答
  • 0 关注
  • 119 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信