Skip to content

profiles_docker compose

Linux8a edited this page Nov 10, 2022 · 1 revision

Uso de profiles en 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/

Clone this wiki locally