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

207
Vistas
Problemas al configurar una aplicación Docker con php, apache y base de datos nativa

Necesito crear una aplicación docker con solo php y apache como contenedores para ejecutar una aplicación web basada en php. Estoy usando solo archivos YAML de Docker Compose que puedo activar en una interfaz de usuario específica. No trabajo con todas las cosas de la línea de comandos (es un NAS con un sistema operativo basado en Linux modificado donde normalmente evito cualquier actividad en el nivel de la línea de comandos) .

Ambas imágenes de php y apache deben basarse en la última versión y seguramente comunicarse entre sí. La base de datos a utilizar debe ser la MariaDB nativa de la máquina.

He estado probando muchas docenas de variaciones de un archivo YAML de Docker Compose, pero hasta ahora ninguna funciona ni siquiera en las operaciones básicas:

 version: "3.1" services: php: image: php:latest working_dir: /root volumes: - /share/Web/myWebApp:/root command: docker-php-ext-install pdo pdo_mysql links: - "web" web: image: httpd:latest volumes: - /share/Web/myWebApp:/usr/local/apache/htdocs ports: - 9500:80 - 9501:443

Con el archivo YAML anterior, la aplicación comienza a crearse y el comando php

 command: docker-php-ext-install pdo pdo_mysql

hace que aparezca una salida más larga de php, pero una vez que finaliza, el contenedor de php se detiene inmediatamente. Cuando omito este comando, el contenedor ni siquiera se inicia. no estoy seguro de la

 working_dir

instrucción para php también. ¿Es esto necesario en absoluto? Si es así, ¿qué tendría que ser, un volumen interno o asignado a un volumen de host (como se indica arriba)?

Sin embargo, el contenedor del servidor web apache se inicia y puede iniciarse mediante la URL del host: 9500, que muestra "Funciona", pero ignora la asignación.

 /share/Web/myWebApp:/usr/local/apache/htdocs

que he especificado. Solo muestra el archivo INDEX.HTML estático proporcionado por apache. Cuando entro en el contenedor de Apache en ejecución (a través de la línea de comando), puedo moverme al directorio

 /usr/local/apache/htdocs

y esto, de hecho, contiene todos los archivos HTML y PHP de mi aplicación web, pero cuando ejecuto la URL: PUERTO en el navegador, solo se muestra la corrección INDEX.HTML.

Esta debe ser una pregunta de un millón de veces ya que esta es una configuración muy básica, pero no consigo que funcione. También estoy confundido por las instrucciones de red para Docker Compose. La documentación dice que el uso de

 links

está en desuso, pero de todos modos no es necesario ya que los contenedores pueden comunicarse de forma nativa entre sí, viviendo en la misma red de Docker. En cambio

 networks

debería usarse más bien, pero estoy confundido si necesito eso en absoluto.

Si alguien puede tener un ejemplo de un archivo YAM básico que haga el trabajo o darme una pista de lo que está mal en el mío, sería muy apreciado.

over 4 years ago · Santiago Trujillo
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