Extends

Reutilização de Configurações de Serviços

Extensão de arquivos

Segregação do arquivo compose.yaml conforme abaixo.

Criação do arquivo kubenews.compose.yaml para as especificações do container kubenews existentes no arquivo compose.yaml:

~/devops-kube-news$ touch kubenews.compose.yaml
~/devops-kube-news$ vim kubenews.compose.yaml
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

No arquivo base faz-se necessário informar o arquivo de extensão o serviço:

Neste caso o serviço foi chamado de web, não precisando necessariamente ser este nome. O importante é a especificação da extensão:

Verificar as configurações para visualizar que as especificações do serviço kubenews foram incluídas no serviço web:

Sobrescrever a imagem

A imagem utilizada pelo kubenews pode ser sobrescrita na extensão.

Por exemplo, o arquivo .env define a tag v1 para a imagem:

Porém o arquivo compose.yaml pode estender a utilização da v2, por exemplo:

Foi alterada a tag do Postgres para 13.16 pois foi a versão da sua criação que está sendo gerenciado pelo Docker Volume.

Com isso é evitado o erro:

Destaque para:

Verificar as configurações:

Destaque para:

Subir o Docker Compose com a instrução --build:

Foi realizada a exportação da imagem kube-new com a tag v2:

A alteração do serviço kubenews para web gerou um container órfão:

Para resolver isso deve-se inserir a instrução --remove-orphans ao subir o Docker Compose:

Last updated