Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

362
Views
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?

about 4 years ago · Santiago Trujillo
1 answers
Answer question

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.

about 4 years ago · Santiago Trujillo Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!