Intenté ejecutar docker-compose up con la imagen php7-fpm desde el concentrador de la ventana acoplable y funciona, por lo que es mi ventana acoplable la que está mal configurada, ¿alguien puede ayudarme?
Tengo un problema al usar docker-compose con la imagen de Dockerfile. Te explico lo que necesito, necesito mi servidor nginx que se comunica con php. php debería comunicarse con la base de datos Mysql.
Solo uso un Dockerfile para agregar módulos a php.
Aquí está mi dockerfile php:
FROM ubuntu:18.04 # BLOCK : Make PHP works RUN apt-get update RUN apt-get -y install software-properties-common RUN add-apt-repository ppa:ondrej/php # FIN BLOCK RUN apt-get -y update && apt-get install -y \ php7.0 \ php7.0-fpm \ php7.0-mysql \ php7.0-json \ php7.0-curl \ php7.0-sqlite3 \ php7.0-xml \ php7.0-bcmath \ php7.0-zip \ php7.0-mbstring \ php-xdebug \ php-ast WORKDIR /var/www/html CMD ["php-fpm"] EXPOSE 9000Configuración NGINX
server { listen 80 default_server; listen [::]:80 default_server; server_name localhost; index index.php index.html; error_log /var/log/nginx/error.log; access_log /var/log/nginx/access.log; root /var/www/html/public; location ~ \.php$ { try_files $uri =404; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_pass php:9000; fastcgi_index index.php; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; } }Cuando ejecuto docker-compose --verbose up, obtuve un código de salida
Aquí está --verbose y archivo de arquitectura
Estoy usando NGINX Unit como un servidor de aplicaciones para PHP desde hace poco más de 2 años. Facilita el uso de aplicaciones PHP que se ejecutan en PHP con NGINX sin instalar/crear una imagen de contenedor docker compleja por su cuenta.
Aquí hay un ejemplo de una compilación UNIT para Wordpress. Pero también funcionará con cualquier otra aplicación PHP.
https://github.com/tippexs/unitwp
Yo le daría una oportunidad. La documentación oficial: https://unit.nginx.org/configuration/#php
Pero volviendo a tu problema:
Ya no usaría Ubuntu 14.04 si no fuera absolutamente necesario. Use una imagen más nueva como su imagen base.
¿Qué paquete estás usando para instalar PHP7.0? Acabo de usar una nueva imagen acoplable de ubuntu:14.04 e intenté instalar php7.0 sin agregar ningún repositorio o ppa especial.
root@31bb99d337d9:/# apt search "php7" Sorting... Done Full Text Search... DoneNo puedo encontrar ningún paquete PHP7. Sé que hay algunos ppa para PHP7 en Ubuntu14.04.
Para que funcione con mi nuevo Ubunut 14.04:
sudo apt-get install software-properties-common sudo add-apt-repository ppa:ondrej/php root@31bb99d337d9:/# apt search php5-fpm Sorting... Done Full Text Search... Done php5-fpm/trusty-updates,trusty-security 5.5.9+dfsg-1ubuntu4.29 amd64 server-side, HTML-embedded scripting language (FPM-CGI binary)Debe intentar encontrar el fpm para php7 en su contenedor.
El fpm necesita alguna configuración adicional en su contenedor php, así como también debe iniciarse en el inicio del contenedor.
Si tiene la oportunidad, ingrese a su instancia de contenedor nginx y/o php y verifique si el fpm se está ejecutando y escuchando en el puerto 9000 para aceptar conexiones desde el contenedor nginx.
Lo hice muchas veces en el pasado y migré cualquier cosa a NGINX Unit porque es mucho más fácil de usar. Darle una oportunidad.