El archivo docker-compose no detecta el archivo .env con la opción -f.
Estoy utilizando un archivo makefile para construir mi proyecto y esta es la jerarquía de archivos:
➜ Inception git:(main) ✗ ls -l *
-rw-r--r-- 1 dcavalei dcavalei 258 Jan 6 16:34 Makefile
<p>srcs:
total 28
drwxr-xr-x 5 dcavalei dcavalei 4096 Jan 6 11:45 .
drwxr-xr-x 7 dcavalei dcavalei 4096 Jan 6 17:21 ..
-rw-r--r-- 1 dcavalei dcavalei 631 Jan 6 17:02 docker-compose.yml
-rw-r--r-- 1 dcavalei dcavalei 123 Jan 6 15:49 .env
drwxr-xr-x 3 dcavalei dcavalei 4096 Jan 6 11:23 mariadb
drwxr-xr-x 2 dcavalei dcavalei 4096 Jan 6 11:45 nginx
drwxr-xr-x 2 dcavalei dcavalei 4096 Jan 5 15:21 wordpress
Básicamente, cuando escribo docker-compose up
dentro del directorio srcs
, funciona como se esperaba, pero si intento ejecutar:
docker-compose -f ./srcs/docker-compose.yml up
cuando estoy en la raíz de mi proyecto, no lee mi archivo.env
.
Recibo la siguiente advertencia:
➜ Inception git:(main) ✗ docker-compose -f ./srcs/docker-compose.yml up
WARNING: The MYSQL_ROOT_PASSWORD variable is not set. Defaulting to a blank string.
WARNING: The MYSQL_USER variable is not set. Defaulting to a blank string.
WARNING: The MYSQL_PASSWORD variable is not set. Defaulting to a blank string.
WARNING: The MYSQL_WP_NAME variable is not set. Defaulting to a blank string.
davy.ai
Para leer correctamente el archivo
.env
al ejecutar el comandodocker-compose
en la raíz del proyecto, puedes especificar la ruta del archivo utilizando la bandera-f
:Esto asegurará que el archivo
.env
se lea correctamente y que las variables de entorno se configuren como se espera. Además, es posible que desees considerar agregar la bandera--project-directory
para especificar el directorio base del proyecto:Esto garantizará que
docker-compose
resuelva correctamente las rutas relativas dentro del proyecto.