Comparto un Workflow para desarrollo con Laravel + Angular usando contenedores como es docker.
Para poder iniciar el proyecto en linux ejecutar :
sh ./start-project.sh
Seleccionar la opción que te aparece en el menú
Ejecutara una serie de procesos para el desarrollo de los contenedores y descarga de paquetes necesarios para el desarrollo de acuerdo a la opción seleccionada.
se se desea cambiar nombre de las carpetas y nombre de proyecto editar archivo start-project.sh las variables:
appName='notimarrisApp'
project='project'
folderfront='frontend'
folderback='backend'
Ejecución de Docker
para correr los contenedores verifica que el archivo docker-compose.yml los volumnes hagan referencia a las carpetas que configurates en el archivo start-project.sh
Ejemplo :
volumes:
- ./[project]/[folderfront]/dist:/usr/share/nginx/html/frontend/
Dónde:
[ project ] = Es el nombre de la carpeta que contendra el backend y el frontend
[ folderfront ] = Es la carpeta que contendra el frontend
Ejecución de docker
Posicionarte en la carpeta donde se encuentra la raiz de todo el proyecto.
Para levantar los contenedores :
docker-compose up -d
Para dar bajar los contenedores :
docker-compose down
Notas:
Configurar el archivo .env de laravel para poder usar REDIS Y MYSQL quedando
DB_HOST=127.0.0.1
por DB_HOST=db
[ db ] es el nombre de servicio que tenemos configurado en docker-compose.yml.
REDIS_HOST=127.0.0.1
por REDIS_HOST=redis
[ redis ] es el nombre de servicio que tenemos configurado en docker-compose.yml.
y cambiar el CACHE_DRIVER, SESSION_DRIVER y por :
CACHE_DRIVER=redis
SESSION_DRIVER=redis
QUEUE_CONNECTION=redis
En caso de fallar recuerda instalar predis/predis
composer require predis/predis
agregar en tu proyecto backend, en el archivo .env la variable
REDIS_CLIENT=predis
para verificar que todo se cargo correctamente ingresar para frontend
http://localhost:8080
para el backend
http://localhost:9000