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

368
Vistas
Pasar el entorno docker-compose a la configuración de symfony

Quiero pasar los parámetros de configuración del archivo docker-compose a mi aplicación Symfony, probé esto:

 app: image: <NGINX + PHP-FPM IMAGE> environment: DATABASE_HOST: db

Mi archivo de parámetros.yml:

 database_host: "%env(DATABASE_HOST)%"

Recibo el error 500 "Variable de entorno no encontrada: DATABASE_HOST"

También probé SYMFONY__DATABASE_HOST en docker-compose pero tampoco funcionó.

¿Como funciona?

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

0

El error que recibes se refiere a las variables de entorno de tiempo de ejecución de Symfony (ver aquí) . Las variables de entorno de Docker Compose se recuperan del archivo .env que reside dentro del contexto de compilación (también conocido como el directorio desde donde desea que se ejecute Docker- compose ) del archivo docker-compose.yml . Lo que realmente quieres hacer es asegurarte de que las variables de entorno que configuraste en tu configuración/parámetros de Symfony y tu archivo docker-compose.yml coincidan, especialmente el host db .

Debería considerar dividir su imagen en imágenes PHP-FPM y Nginx para tener una mejor escalabilidad potencial y una separación de preocupaciones de acuerdo con las mejores prácticas descritas por Docker aquí . Todas estas tecnologías tienen imágenes mantenidas regularmente disponibles en Docker Hub .

Aquí está mi docker-compose.yml que crea contenedores para PHP-FPM, MySQL y Nginx en un entorno de varios contenedores con los últimos paquetes estables disponibles a la fecha.

 version: '3' services: db: image: mysql volumes: - ./.data/db:/var/lib/mysql environment: MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD} MYSQL_DATABASE: ${MYSQL_DATABASE} MYSQL_USER: ${MYSQL_USER} MYSQL_PASSWORD: ${MYSQL_PASSWORD} php: build: php7.1-fpm depends_on: - db ports: - "9000:9000" volumes: - symfony-bind-mount:/var/www/symfony - symfony-logs-bind-mount:/var/www/symfony/app/logs nginx: build: nginx depends_on: - php ports: - "8025:8025" - "80:80" volumes: - symfony-bind-mount:/var/www/symfony - nginx-logs-bind-mount:/var/log/nginx volumes: symfony-bind-mount: driver: local driver_opts: o: bind,rw type: none device: ${SYMFONY_APP_PATH} nginx-logs-bind-mount: driver: local driver_opts: o: bind,rw type: none device: ${DOCKER_SYMFONY_PATH}/logs/nginx symfony-logs-bind-mount: driver: local driver_opts: o: bind,rw type: none device: ${DOCKER_SYMFONY_PATH}/logs/symfony

Aquí está mi archivo .env:

 # Symfony application's path SYMFONY_APP_PATH=/absolute/path/to/symfony/project # Path to local docker-symfony repository DOCKER_SYMFONY_PATH=/absolute/path/to/sibling/docker/directory # MySQL MYSQL_ROOT_PASSWORD=root MYSQL_DATABASE=mydb MYSQL_USER= MYSQL_PASSWORD=password

Puede consultar mi bifurcación del repositorio docker-symfony de maxpou aquí . Actualicé docker-compose.yml y los montajes de enlace para que sean compatibles con la versión 3 del formato de archivo Compose.

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