Docker nginx php en contenedor centos7

Docker nginx php en contenedor centos7

Tengo que crear un Dockerfile que debe heredar DE centos:7 por definición e instalar nginx y php y hacer que muestre un archivo PHP.

Mi archivo Docker:

FROM centos:7
EXPOSE 80/tcp
RUN yum -y update
RUN yum -y install epel-release
RUN yum -y install nginx php php-fpm
RUN echo '<?php phpinfo();' > /var/www/demo/index.php

Mis problemas:

  1. ¿Cómo puedo hacer que Docker comprenda que nginy debe iniciarse cuando se crea e inicia el contenedor?
  2. ¿Cómo hago para que nginx entienda cómo usar PHP?

Primero, todo lo que sé es que esto no es posible conconstrucción de ventana acoplable.

Para 2. Quería usar tutoriales pero todos están mal porque:

  • no hay /etc/nginx/sites-availabledirectorio
  • no hay ningún archivo llamado snippets/fastcgi-php.confen ningún lugar para incluirlo en nginx.conf

Nunca antes había trabajado con nginx, así que no tengo idea de por dónde empezar. Ningún tutorial que encontré funciona porque todos esos archivos y carpetas no existen. Todo lo que obtengo es una página de error 403.

Respuesta1

Este es el enfoque que te di en algún momento, tienes que instalar y configurar nginx en elarchivo acoplablee iniciarlo en cualquier momento cuando ejecute la ventana acoplable, configúrelo endocker-entrypoint.sh

Archivo Docker:

#Install and config Nginx
RUN {\
    apt-get install nginx -y\
    rm /etc/nginx/sites-enabled/default\
    }

ADD YOUR_CONFIG_FILE /etc/nginx/sites-enabled/
RUN service nginx start


RUN PATH="$PATH:docker-entrypoint.sh"
COPY docker-entrypoint.sh /
RUN chmod +x docker-entrypoint.sh
ENTRYPOINT ["./docker-entrypoint.sh"]

docker-entrypoint.sh:

#!/bin/bash

service nginx start
 
/bin/bash

¡Espero eso ayude!

Respuesta2

Logré mantener vivo el contenedor agregando lo siguiente

CMD ["nginx", "-g", "daemon off;"]

Espero que te ayude a ti y a los demás compañeros.

información relacionada