Prévia do material em texto
1. O que é um "container" na tecnologia de software? a) Um tipo de máquina virtual. b) Uma unidade isolada que contém tudo o que uma aplicação precisa para ser executada. c) Um arquivo compactado com dados de um sistema operacional. d) Um ambiente de rede para comunicação entre servidores. Resposta correta: b Explicação: Um container é uma unidade de software que empacota uma aplicação e todas as suas dependências, permitindo que a aplicação seja executada de maneira consistente em qualquer ambiente, sem a necessidade de configuração adicional. 2. Qual é a principal vantagem do uso de containers? a) Eles tornam os sistemas mais rápidos, sem precisar de rede. b) Eles oferecem mais segurança que máquinas virtuais. c) Eles permitem a portabilidade de aplicações entre diferentes ambientes e sistemas operacionais. d) Eles exigem menos recursos computacionais em comparação com servidores físicos. Resposta correta: c Explicação: A principal vantagem dos containers é a portabilidade. Como eles contêm todas as dependências necessárias para a execução da aplicação, podem ser facilmente movidos entre diferentes ambientes, como desenvolvimento, testes e produção, sem alterar seu funcionamento. 3. O que é Docker? a) Uma ferramenta para criar e gerenciar máquinas virtuais. b) Uma plataforma para desenvolver, testar e implantar aplicações em containers. c) Uma linguagem de programação usada para containers. d) Uma ferramenta de monitoramento de containers. Resposta correta: b Explicação: Docker é uma plataforma que facilita a criação, execução e gerenciamento de containers. Ele é uma das ferramentas mais populares para trabalhar com containers e é amplamente usado para automação de deploys e escalabilidade de aplicações. 4. Qual é a diferença entre containers e máquinas virtuais? a) Containers emulam um sistema operacional completo, enquanto máquinas virtuais compartilham o mesmo sistema operacional. b) Containers são mais pesados que máquinas virtuais. c) Containers compartilham o sistema operacional do host, enquanto máquinas virtuais têm sistemas operacionais completos e isolados. d) Não há diferença significativa entre containers e máquinas virtuais. Resposta correta: c Explicação: A principal diferença é que os containers compartilham o sistema operacional do host, tornando-os mais leves e rápidos. Já as máquinas virtuais emulam sistemas operacionais completos, o que torna o processo mais pesado e com maior sobrecarga. 5. O que significa a "imagens de containers" no contexto do Docker? a) Arquivos compactados contendo o código da aplicação. b) Contêineres executando um sistema operacional específico. c) Modelos ou templates a partir dos quais containers são criados. d) Backup dos dados de containers em execução. Resposta correta: c Explicação: As imagens de containers são modelos ou templates que contêm o código, bibliotecas, configurações e dependências necessárias para criar e executar um container. Elas são imutáveis, e um container é instanciado a partir de uma imagem. 6. O que é o "Dockerfile"? a) Um arquivo contendo dados de configuração do sistema operacional do container. b) Um arquivo que define as instruções para criar uma imagem de container. c) Um arquivo de log gerado durante a execução do container. d) Um script de automação para a execução de containers em produção. Resposta correta: b Explicação: O Dockerfile é um arquivo de texto que contém um conjunto de instruções que o Docker utiliza para construir uma imagem de container. Ele define tudo o que a imagem precisa, como o sistema operacional, as dependências e o código da aplicação. 7. O que é o "docker-compose"? a) Uma ferramenta que automatiza a criação de containers no Docker. b) Uma ferramenta para orquestrar e configurar múltiplos containers de uma aplicação. c) Um sistema de gerenciamento de rede para containers. d) Uma biblioteca para criar imagens Docker. Resposta correta: b Explicação: Docker Compose é uma ferramenta que permite definir e executar aplicações compostas por múltiplos containers. Com ele, você pode configurar todos os containers necessários para uma aplicação em um único arquivo YAML e orquestrar o seu funcionamento. 8. Por que o isolamento entre containers é importante? a) Para garantir que as aplicações não acessem dados de outros containers ou do sistema operacional do host. b) Para melhorar a performance da aplicação. c) Para garantir que as imagens de containers sejam menores. d) Para permitir que os containers compartilhem recursos do sistema de maneira mais eficiente. Resposta correta: a Explicação: O isolamento entre containers é crucial para garantir que as aplicações em containers não interfiram ou acessem dados de outros containers ou do sistema operacional do host, promovendo segurança e estabilidade. 9. Quais são as vantagens de usar containers no desenvolvimento de software? a) Redução do tempo de teste e implantação devido à consistência no ambiente. b) Containers são mais seguros do que servidores físicos. c) Containers são a única maneira de escalar aplicações. d) Containers são ideais para aplicações que não precisam de redes. Resposta correta: a Explicação: Containers ajudam a reduzir o tempo de teste e implantação, pois fornecem um ambiente consistente em todas as etapas do desenvolvimento, desde a criação até a produção. Isso elimina problemas de "funciona na minha máquina", garantindo que a aplicação se comporte da mesma forma em diferentes ambientes. 10. O que são "volumes" no Docker? a) Componentes que permitem a comunicação entre containers. b) Armazenamento persistente de dados que pode ser compartilhado entre containers. c) Ferramentas de monitoramento de containers. d) Sistemas de gerenciamento de containers. Resposta correta: b Explicação: Volumes são utilizados no Docker para armazenar dados de forma persistente, fora do container. Isso significa que os dados não serão perdidos quando o container for parado ou removido, e podem ser compartilhados entre diferentes containers.