
Eu tenho que criar um Dockerfile que herda FROM centos:7 por definição e instalar nginx e php e fazer com que ele mostre um arquivo PHP.
Meu Dockerfile:
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
Meus problemas:
- Como posso fazer o docker entender que o nginy precisa ser iniciado quando o contêiner é criado e iniciado?
- Como faço para que o nginx entenda como usar PHP?
Primeiro, tudo o que sei é que isso não é possível comconstrução do docker.
Para 2. Eu queria usar tutoriais, mas estão todos errados, porque:
- não há
/etc/nginx/sites-available
diretório - não há nenhum arquivo chamado
snippets/fastcgi-php.conf
em nenhum lugar para incluir no nginx.conf
Nunca trabalhei com nginx antes, então não tenho ideia por onde começar. Nenhum tutorial que encontrei funciona, porque todos esses arquivos e pastas não existem. Tudo que recebo é uma página de erro 403.
Responder1
Essa é a abordagem que eu tenho em algum momento, você tem que instalar e configurar o nginx noDockerfilee iniciá-lo a qualquer momento ao executar a janela de encaixe, defina-adocker-entrypoint.sh
Arquivo 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 que ajude!
Responder2
Consegui manter o contêiner ativo adicionando o seguinte
CMD ["nginx", "-g", "daemon off;"]
Espero que ajude você e os outros colegas