php - “symfony serve”在 php 7.2 (docker/alpine) 中崩溃
问题描述
我尝试构建并运行一个 docker 容器,但该symfony serve
过程在启动后立即崩溃:
Jul 19 19:14:05 |INFO | PHP listening path="/usr/local/sbin/php-fpm" php="7.2.20" port=43115
Jul 19 19:14:05 |DEBUG| PHP started
Jul 19 19:14:05 |DEBUG| PHP ERROR: cannot get uid for user '_www'
Jul 19 19:14:05 |DEBUG| PHP ERROR: FPM initialization failed
[OK] Web server listening on http://127.0.0.1:8000 (PHP FPM 7.2.20)
WARNING unable to find the application log
Jul 19 19:14:06 |DEBUG| PHP stopped
Jul 19 19:14:06 |INFO | SERVER shut down, bye!
PHP server exited unexpectedly: exit status 78
这是我的Dockerfile
:
FROM php:7.2-fpm-alpine
ENV COMPOSER_ALLOW_SUPERUSER 1
RUN apk update && apk upgrade && apk add bash
RUN wget https://get.symfony.com/cli/installer -O - | bash \
&& mv /root/.symfony/bin/symfony /usr/local/bin/symfony \
&& php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');" \
&& php composer-setup.php --filename=composer \
&& php -r "unlink('composer-setup.php');" \
&& mv composer /usr/local/bin/composer
EXPOSE 8000
# Set working directory
WORKDIR /srv/api2/
# Copy source files
COPY bin bin/
COPY config config/
COPY public public/
COPY src src/
COPY .env ./
COPY composer.json composer.json symfony.lock ./
RUN mkdir -p var/cache var/logs \
&& composer install --prefer-dist --no-dev --optimize-autoloader --classmap-authoritative --no-scripts --no-progress --no-suggest \
&& composer dump-autoload --optimize --no-dev --classmap-authoritative \
&& composer clear-cache
CMD ["symfony", "serve", "--no-tls"]
解决方案
解决您的问题的一个简单解决方案是为 Alpine 使用非 FPM PHP 图像。
您可以更换:
FROM php:7.2-fpm-alpine
和:
FROM php:7.2-alpine
推荐阅读
- firefox-addon-webextensions - 如何隐藏 browserAction 图标并仅在与 content_scripts 匹配的网站上显示?
- javascript - Dynamo db 错误添加问题:{ InvalidParameterType: Expected params.Item['options'].S to be a string
- arrays - 如何将获取json格式的值转为数组
- jasper-reports - Ireport 默认参数值表达式
- xamarin - Xamarin.Forms - Android:永远不会调用 OnRequestPermissionsResult
- java - 播放框架找不到符号符号:方法形式(java.lang.Class
) - docusignapi - 授权码授予错误:无效的身份验证请求
- html - 如何使用 selenium webdriver 双击日历网格中的项目
- compiler-construction - 如何在ocaml源码中找到desc的定义?
- swift - 检测包含表情符号的 UITextView 中的光标位置在 swift 4 中返回错误的位置