Instituto FOC – FP Informática Online

Montar un servidor web con Symfony en Docker

Symfony es un framework PHP gratuito para el desarrollo aplicaciones web y es aparte uno de los mas utilizados por los desarrolladores de aplicaciones por la gran escalabilidad que ofrece y por la gran comunidad que la mantiene en todo el mundo.

Si te estás preguntando que necesito para comenzar a desarrollar en Symfony la respuesta es fácil. Cómo mínimo necesitarás:

  • Un entorno servidor de HTTP como Nginx o Apache.
  • Un servidor de BBDD como MySQL, MariaDB, PostgreSQL o SQLite.
  • Lenguaje de programación PHP.
  • Editor de código como VSCode, Notepad++.

Todo ello ha de ir debidamente configurado, por lo que se propone realizarlo usando Docker-Compose.

Ya hemos hablado de Docker en anteriores blogs, por lo que si aún no lo tienes instalado, ahora es el momento.

En tu directorio de trabajo, creamos un archivo llamado docker-compose.yml con el siguiente contenido:

version: ‘2’
 
services:
  mariadb:
    image: docker.io/bitnami/mariadb:10.6
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      – ALLOW_EMPTY_PASSWORD=yes
      – MARIADB_USER=bn_myapp
      – MARIADB_DATABASE=bitnami_myapp
  myapp:
    image: docker.io/bitnami/symfony:6.1
    ports:
      – ‘8000:8000’
    environment:
      # ALLOW_EMPTY_PASSWORD is recommended only for development.
      – ALLOW_EMPTY_PASSWORD=yes
      – SYMFONY_DATABASE_HOST=mariadb
      – SYMFONY_DATABASE_PORT_NUMBER=3306
      – SYMFONY_DATABASE_USER=bn_myapp
      – SYMFONY_DATABASE_NAME=bitnami_myapp
    volumes:
      – ‘./my-project:/app’
    depends_on:
      – mariadb

Una vez guardado este archivo, ejecutamos la orden docker-compose up dentro de la carpeta en donde está ubicado el archivo docker-compose.yml

Docker en ese momento realizará una serie de descargas y finalizada las mismas lanzará el proyecto por defecto de Symfony, pudiendo abrirlo con tu navegador web con la siguiente URL: http://localhost:8000/

El proyecto de Symfony estará disponible en la carpeta my-proyect para comenzar su desarrollo.