[英]How to start the php-fpm server in docker?
FROM php:7.4-fpm
RUN apt-get update && apt-get install -y \
libfreetype6-dev \
libjpeg62-turbo-dev \
libpng-dev \
libmcrypt-dev \
gcc \
make \
&& docker-php-ext-configure gd --with-freetype --with-jpeg \
&& docker-php-ext-install -j$(nproc) gd
RUN set -xe; \
apt-get update -yqq && \
pecl channel-update pecl.php.net && \
apt-get install -yqq \
apt-utils \
libzip-dev zip unzip && \
docker-php-ext-configure zip; \
docker-php-ext-install zip && \
php -m | grep -q 'zip'
RUN docker-php-ext-install pdo_mysql
RUN apt-get install -y nano
RUN apt-get install -y build-essential cron
RUN apt-get install -y cron
RUN apt-get install -y procps
RUN apt-get install -y net-tools
RUN apt-get update && apt-get install libmagickwand-dev -y --no-install-recommends \
&& pecl install imagick-3.5.1 \
&& docker-php-ext-enable imagick
RUN apt-get install -y ghostscript
COPY --from=composer /usr/bin/composer /usr/bin/composer
ENV COMPOSER_ALLOW_SUPERUSER 1
ENV COMPOSER_HOME /composer
ENV PATH $PATH:/composer/vendor/bin
WORKDIR /var/www
RUN apt-get install -y git
COPY ./src /var/www
COPY ./php/php.ini /usr/local/etc/php/php.ini
COPY ./php/policy.xml /etc/ImageMagick-6/policy.xml
RUN chmod -R 777 /var/www/storage
RUN chmod -R 777 /var/www/bootstrap
我有這樣的 docker 文件。
它可以創建容器,但是其中沒有服務器。
在容器中,它只接受 ip6
tcp6 0 0 :::9000 :::* LISTEN
我想通過 curl localhost 9000 訪問 fpm-cgi 服務器
我應該在哪里設置?
首先,修復您的權限,不要公開以root
身份運行的服務。
FROM php:7.4-fpm
RUN groupadd -g 101 nginx && \
useradd -u 101 -ms /bin/bash -g nginx nginx
# ...
RUN chown -R nginx:nginx /var/www/storage
RUN chown -R nginx:nginx /var/www/bootstrap
接下來,您需要將服務暴露給 containers.network,最好是nginx
。
USER nginx
EXPOSE 9000
CMD ["php-fpm"]
在 docker 容器中嘗試
service php7.4-fpm start
如果有效,您可以將其添加到 Dockerfile,如下所示
RUN service php7.4-fpm start
你可以檢查停止,開始,狀態
service php7.4-fpm status|stop|start
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.