Profiles
Criação de perfis de execução.
Especificar somente um arquivo compose.yaml conforme abaixo:
services:
kubenews:
image: marcelodpbarbieri/kube-news:${KUBENEWS_TAG:-latest}
build:
context: ./src
dockerfile: Dockerfile
ports:
- 8080:8080
depends_on:
- postgre
environment:
DB_DATABASE: ${POSTGRES_DB}
DB_USERNAME: ${POSTGRES_USER}
DB_PASSWORD: ${POSTGRES_PASSWORD}
DB_HOST: postgre
networks:
- kubenews-net
postgre:
image: postgres:${POSTGRES_TAG}
ports:
- 5432:5432
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
POSTGRES_USER: ${POSTGRES_USER}
POSTGRES_DB: ${POSTGRES_DB}
volumes:
- postgre-docker-vol:/var/lib/postgresql/data
networks:
- kubenews-net
include:
- ./kubenews.compose.yaml
volumes:
postgre-docker-vol:
networks:
kubenews-net:
driver: bridgeSubida do Docker Compose para garantia do funcionamento:
Por exemplo, deseja-se que o container postgre seja criado somente nos ambientes de desenvolvimento e homologação:
Destaque para:
Tentativa de subir o Docker Compose sem especificar o profile:
Como não foi especificado o profile, o Docker Compose verifica a existência do depends_on. Faz-se necessário retirá-lo do arquivo compose.yaml porque nem sempre o container postgre será criado.
Arquivo compose.yaml:
Destaque para o serviço kubenews sem a especificação depends_on.
Novamente subir o Docker Compose sem a instrução do profile:
Somente o container kubenews foi criado.
Agora, subir o Docker Compose com a instrução do profile:
O container postgre é criado!
Last updated