Автоматически запускать Nginx из образа php fpm

У меня есть следующий Dockerfile

FROM php:7.2-fpm

LABEL maintainer = "[email protected]"

RUN apt-get update && \
    apt-get install -y nginx git zip

COPY default.conf /etc/nginx/conf.d/default.conf

RUN apt-get update && \
    apt-get install -y libpng-dev libxml2-dev libcurl3-dev libcurl4-openssl-dev && \
    docker-php-ext-install gd && \
    docker-php-ext-install soap && \
    docker-php-ext-install pdo_mysql && \
    docker-php-ext-install intl && \
    docker-php-ext-install zip

RUN curl -sS https://getcomposer.org/installer | php && mv composer.phar /usr/local/bin/composer

WORKDIR /var/www/pidz/

RUN mkdir ./var/
COPY ./app app
COPY ./bin bin
COPY ./src src
COPY ./web web
COPY ./composer.json composer.json
COPY ./composer.lock composer.lock

ARG SSH_PRIVATE_KEY
# some ssh stuff I perform

RUN export SYMFONY_ENV=staging && \
    composer install

EXPOSE 80

Когда я создаю Dockerfile

docker build . --build-arg SSH_PRIVATE_KEY = "$(cat ~/.ssh/id_rsa)"

И запускаем образ

docker run -p 80:80 <image>

Nginx не запущен, но когда я запускаю nginx внутри контейнера, запускается Nginx

Как сделать так, чтобы Nginx запускался автоматически?

Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Развертывание модели машинного обучения с помощью Flask - Angular в Kubernetes
Kubernetes - это портативная, расширяемая платформа с открытым исходным кодом для управления контейнерными рабочими нагрузками и сервисами, которая...
Как создать PHP Image с нуля
Как создать PHP Image с нуля
Сегодня мы создадим PHP Image from Scratch для того, чтобы легко развернуть базовые PHP-приложения. Пожалуйста, имейте в виду, что это разработка для...
0
0
546
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Поскольку вы не запускаете nginx.

docker run -p 80:80 <image> -d nginx

или вы можете добавить официальный конец CMD ["/usr/sbin/nginx", "-g", "daemon off;"]Dockerfile Dockerfile, тогда, когда вы запустите образ, он автоматически запустится

CMD по-прежнему останавливает контейнер, см .: stackoverflow.com/a/42219138/2753579
yooouuri 12.10.2018 14:08

в последнем случае не забудьте поместить daemon off; в вашу конфигурацию nginx, чтобы не переходить в фоновый режим, иначе ваш контейнер просто завершится после запуска nginx.

joppich 12.10.2018 14:09

@Ntwobike, когда я добавляю CMD ["/usr/sbin/nginx", "-g", "daemon off;"], php больше не работает ...

yooouuri 12.10.2018 15:10

Другие вопросы по теме