docker-compose
comandos
detached start
docker-compose up -d [service]
docker-compose up -d --scale <SERVICIO>=<NUM_CONT>
estado servicio
docker compose ps
docker compose ps -a
docker compose ps --status=exited
reiniciar servicio
# reiniciar sin cambios:
docker compose restart [nombre_del_servicio]
# reconstruir si detecta cambios (y reiniciar servicios dependientes si no estan en marcha)
docker compose up -d [nombre_del_servicio]
# reconstruir forzando
docker compose up -d --build [nombre_del_servicio]
docker compose up -d --no-deps [nombre_del_servicio] # evitar inicio dependencias
docker compose up -d --force-recreate [nombre_del_servicio]
parar servicio
docker compose stop [nombre_del_servicio] # para pero no destruye el contenedor
docker compose down [nombre_del_servicio] # para y destruye el contenedor
docker compose down # para y destruye todos los contenedores y la red de la aplicación
variables
- .env
# variables de entorno preceden a estas
# variables pasadas por línea de comando preceden a estas
# docker run --env <variable>=<valor>
# se pueden especificar otras variables en otros archivos
# docker run --env-file <fichero>
MYSQL_ROOT_PASSWORD=toor
MYSQL_DATABASE=xxxx
MYSQL_USER=xxxx
MYSQL_PASSWORD=xxxx
MYSQL_STORAGE_PATH=/home/mate/Docker/.storage/mysql/xxxx
para pasar variables a los contenedores, se puede:
usar la sección environment, donde definimos la variable (y podemos setear o hace que recoga el valor del shell)
usar la sección env_file, donde carga los valores desde un fichero externo
pasarlo por línea de comando con el parámetro -e <VAR>[=<VALOR>] y al igual que la seccción environment, podemos setearlo directamente o dejar que coja el valor que haya en el shell
para ver el resultado de aplicar varias configuraciones de variables y que se obtiene el resultado que se desea, podemos usar: docker-compose config y nos mostrará el fichero con el resultado final una vez hecha la conversión de las diferentes variables
-