Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

566
Vistas
Configuración PHP Dockerfile desde ubuntu image

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 9000

Configuració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

Pantalla -- detallada

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

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:

  1. Ya no usaría Ubuntu 14.04 si no fuera absolutamente necesario. Use una imagen más nueva como su imagen base.

  2. ¿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... Done

No 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
  1. Su imagen PHP no incluye un procesador FCGI. Su configuración NGINX necesita una escucha de procesador fcgi en el puerto 9000 en el contenedor php. No lo está instalando en su Dockerfile.
 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.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda