Magna Concursos
4178673 Ano: 2026
Disciplina: TI - Banco de Dados
Banca: UFLA
Orgão: UFLA
Provas:

Considere a seguinte situação hipotética:

Uma equipe de engenharia DevOps está implementando o processo de implantação automatizada de uma aplicação web como parte de um pipeline de entrega contínua. A aplicação é executada em um ambiente “conteinerizado”, composto por uma stack de serviços formada por um servidor NGINX, responsável pelo atendimento das requisições HTTP, um serviço PHP-FPM, que executa a lógica da aplicação, bem como por um banco de dados MySQL, responsável pela persistência das informações.

A orquestração desses componentes está sendo realizada por meio de um arquivo dockercompose.yml, no qual cada serviço é executado em um contêiner distinto.
Durante testes de inicialização do ambiente, a equipe observou que, em algumas execuções do comando docker compose up, o contêiner da aplicação tenta estabelecer conexão com o banco de dados antes que o serviço MySQL esteja completamente pronto para aceitar conexões, ocasionando falhas temporárias durante o bootstrap da aplicação.

Considere o trecho do arquivo docker-compose.yml utilizado pela equipe:

Fonte: dados do elaborador

version: "3.8"

services:

  web:
    image: nginx:latest
    ports:
      - "8080:80"
    depends_on:
      - app

  app:
    build: ./php
    depends_on:
      - db
    restart: on-failure

  db:
    image: mysql:8
    environment:
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
      MYSQL_DATABASE: aplicacao
    volumes:
      - db_data:/var/lib/mysql

volumes:
  db_data:


Considerando o funcionamento do Docker Compose, bem como as boas práticas relacionadas à inicialização de serviços, resiliência de contêineres e gerenciamento seguro de credenciais, analise as afirmativas a seguir.

I. A diretiva depends_on presente no serviço app garante a ordem de inicialização dos contêineres, mas não assegura que o banco de dados esteja completamente pronto para aceitar conexões.
II. A utilização da variável ${MYSQL_ROOT_PASSWORD} no arquivo docker-compose.yml elimina os riscos de exposição de credenciais, sendo considerada equivalente ao uso de Docker Secrets em termos de segurança.
III. A política restart: on-failure definida no serviço app permite que o contêiner seja reiniciado automaticamente caso o processo principal termine com erro, contribuindo para a resiliência da aplicação em cenários de falhas transitórias.
IV. O uso de Docker Secrets é geralmente considerado mais seguro que variáveis de ambiente para armazenamento de credenciais sensíveis, pois os segredos podem ser gerenciados separadamente da configuração da aplicação e não ficam expostos diretamente no ambiente do contêiner.
V. A definição de um healthcheck no serviço db permite verificar periodicamente se o banco MySQL está operacional e possibilita identificar quando o serviço está efetivamente pronto para receber conexões.

Assinale a alternativa CORRETA:

 

Provas

Questão presente nas seguintes provas

Analista de TI

70 Questões