-
Notifications
You must be signed in to change notification settings - Fork 14
profiles_docker compose
Esta opción se implementó en la version 1.28 de docker-compose https://github.com/docker/compose/releases?page=2 Y es totalmente opcional su uso. Pero facilita mucho la vida. Pues te permite crear un solo docker-compose.yml y declararle perfiles para usar en diferentes entornos. De esta forma no necesitaríamos tener 2 compose para cada ambiente o entorno.
El ejemplo clásico:
version: "3.9"
services:
frontend:
image: frontend
profiles: ["frontend"]
phpmyadmin:
image: phpmyadmin
depends_on:
- db
profiles:
- debug
backend:
image: backend
db:
image: mysql
Aquí los servicios frontend y phpmyadmin se asignan a los perfiles frontend y debug. Tales servicios solo se inician cuando sus respectivos perfiles los habilitamos.
Ej: Levantaremos el servicio phpmyadmin: docker-compose --profile debug up -d
Si desea ver un ejemplo más real y complejo del uso de profiles le invito a mirar el github el siguiente github oficial https://github.com/zabbix/zabbix-docker/blob/5.4/docker-compose_v3_alpine_mysql_latest.yaml donde dispones de 2 ambientes el all y el full para implementarlos ejecutaríamos esto
docker-compose -f docker-compose_v3_alpine_mysql_latest.yam --profile all --profile full up -d
Nota: Recuerde que debe usar la version docker-compose ≥ 1.28
Referencia: https://docs.docker.com/compose/profiles/
Copyright © 2022