我在容器内运行 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_mysql
RUN 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/symfony
COPY . /app
COPY ./php.ini /usr/local/etc/php/
CMD cd /app/ && symfony server:start --no-tls
cmddocker 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 listening
The Web server is using PHP CGI 7.2.31
http://127.0.0.1:8000
[WARNING] The local web server is already running
Local Web Server
Listening on http://127.0.0.1:8000
The Web server is using PHP CGI 7.2.31
Local Domains
Workers
No Workers
Environment Variables
None
然后,它以代码 0 退出。
所以我尝试在重新启动之前停止 symfony Web 服务器,但它不起作用。我很困惑,因为问题来自 CMD 语句,但我无法真正更改它,因为我需要在运行容器时启动 Web 服务器。一种可能是在另一个 Web 服务器(如 apache)上运行 symfony 应用程序,但使用 symfony Web 服务器非常方便,我不认为这是生产的最佳实践(但这是一个个人项目)。
所以我很困惑为什么它不起作用,如果有人有想法的话
慕斯709654
白板的微信