Flashcards de Docker

Patrocinador de categoria

Docker é uma plataforma de contentorização de aplicações criada por Solomon Hykes. É uma ferramenta desenhada com a padronização, portabilidade e isolamento de ambientes de aplicação em mente. O Docker é caracterizado pela sua leveza e eficiência, permitindo fácil empacotamento, distribuição e execução de aplicações juntamente com as suas dependências em diferentes ambientes. Este sistema oferece funcionalidades avançadas de gestão de contentores e orquestração, proporcionando aos desenvolvedores e administradores ferramentas para implementação eficiente, escalabilidade e gestão de aplicações. O Docker também suporta arquitetura de microserviços e integração contínua, mantendo alto desempenho e permitindo processos de desenvolvimento e implementação de software rápidos e repetíveis.

A nossa aplicação de flashcards inclui perguntas de entrevista sobre Docker cuidadosamente selecionadas com respostas abrangentes que o prepararão eficazmente para qualquer entrevista que exija conhecimento de Docker. IT Flashcards não é apenas uma ferramenta para quem procura emprego - é uma excelente maneira de reforçar e testar o seu conhecimento, independentemente dos seus planos de carreira atuais. O uso regular da aplicação ajudará a manter-se atualizado com as últimas tendências de Docker e manter as suas competências num nível elevado.

Exemplos de flashcards de Docker da nossa aplicação

Baixe nosso aplicativo na App Store ou Google Play para obter mais flashcards gratuitos ou assine para ter acesso a todos os flashcards.

Quais são as principais diferenças entre um container e uma máquina virtual?

Containers e máquinas virtuais (VMs) diferem tanto em arquitetura quanto em desempenho.

1. Arquitetura:
Uma máquina virtual contém um sistema operacional completo, com o seu próprio kernel, aplicações e bibliotecas, que são executadas num hipervisor. O hipervisor gere o compartilhamento de recursos de hardware pela VM. Dado que a máquina virtual contém um sistema operacional completo, é maior em termos de espaço de disco.

Por outro lado, os containers compartilham o kernel do sistema operacional em que são executados e contêm apenas as aplicações e suas dependências. Eles são geridos por um motor de containers, como o Docker. Os containers são menores e têm menor sobrecarga, pois não necessitam de um sistema operacional completo.

2. Desempenho:
As máquinas virtuais têm maior sobrecarga, pois precisam rodar um sistema operativo completo. Isso afeta o desempenho, tanto durante a inicialização como durante a execução.

Os containers têm menor sobrecarga, são mais leves e mais rápidos na inicialização, e o implantação também é mais simples, pois podem ser facilmente movidos entre ambientes.

Finalmente, tanto os containers como as máquinas virtuais têm o seu lugar no desenvolvimento de aplicações e ambas as tecnologias são frequentemente utilizadas juntas nas arquiteturas de aplicações. No entanto, a ausência de sistemas operacionais separados torna os containers menos isolados e potencialmente menos seguros que as máquinas virtuais.

O que é uma imagem Docker e como é utilizada?

Uma imagem Docker, também conhecida como Docker image, é um arquivo imutável que contém software configurado. Uma imagem Docker é criada com base num Dockerfile, que fornece instruções sobre como construir a imagem.

O principal componente de uma imagem Docker são as camadas. Cada linha de instruções no Dockerfile cria uma nova camada. As camadas são empilhadas uma sobre a outra, formando assim a imagem final.

Uma imagem Docker é usada para executar um recipiente Docker. Um recipiente é uma instância de uma imagem executada como um processo. Em contraste com uma imagem, um recipiente possui um estado e pode ser modificado.

Como as imagens Docker são imutáveis e contêm todas as dependências necessárias, elas podem ser facilmente transferidas entre vários sistemas e servidores. Como resultado, as aplicações que são executadas em imagens Docker são sempre idênticas, independentemente do ambiente, o que simplifica os testes e a implantação.

Um dos princípios-chave do Docker é o chamado "construir uma vez, executar em qualquer lugar", o que significa que uma imagem construída uma vez pode ser executada em qualquer sistema que suporte Docker.

Como o Docker utiliza camadas em imagens de container?

O Docker utiliza o conceito de camadas para montar imagens de contêineres. Cada instrução em um Dockerfile cria uma nova camada na imagem que adiciona, modifica ou remove arquivos da camada anterior.

As camadas Docker são apenas de leitura, o que significa que não podem ser modificadas após sua criação. Quando um contêiner é lançado, o Docker adiciona uma camada gravável no topo das camadas empilhadas. Todas as mudanças no contêiner, como salvar novos arquivos, modificar os existentes ou apagar arquivos, são feitas nesta camada gravável.

Graças ao uso do sistema de camadas, o Docker pode compartilhar e armazenar imagens de forma eficiente. Quando as imagens são puxadas, o Docker recupera cada camada que ainda não tem em seu cache. Quando as imagens são criadas e salvas, o Docker reutiliza as camadas já disponíveis, economizando significativamente espaço.

O código abaixo mostra como cada instrução em um Dockerfile cria uma nova camada:
# Usando a Imagem Base
FROM python:3.8

# Cria uma camada
RUN pip install flask 

# Adiciona outra camada.
COPY . /app

Neste exemplo, estamos usando a imagem python:3.8 como a camada base. Então adicionamos mais camadas instalando o pacote Flask e copiando os arquivos. Cada uma dessas operações adiciona uma nova camada à imagem.

O que é um Dockerfile e para que serve?

Um Dockerfile é um arquivo de texto que contém instruções (comandos) que são executados automaticamente quando construímos uma imagem Docker. Neste arquivo, colocamos sequencialmente todas as informações necessárias para criar a imagem.

Quando queremos criar uma imagem usando um Dockerfile, precisamos executar o seguinte comando numa pasta específica:
docker build .

Neste caso, o ponto indica que o contexto de construção (ou seja, o local onde o Docker procura o Dockerfile) é a localização atual (pasta) em que estamos.

A beleza desta solução é que, após definir a imagem no Dockerfile, podemos recriá-la completamente em qualquer servidor onde Docker esteja instalado. Independentemente da configuração do host, garantimos a repetibilidade dos nossos ambientes de desenvolvimento e produção.

Aqui está um exemplo de conteúdo Dockerfile:
# A imagem base usada
FROM python:3

# Definir o diretório de trabalho no recipiente
WORKDIR /usr/src/app

# Copiar os arquivos de requisitos e instalar as dependências
COPY requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

# Copiar o resto do código para o WORKDIR
COPY . .

# Publicar a porta onde nossa aplicação será executada
EXPOSE 8080

# O comando que será executado quando o recipiente iniciar
CMD [ "python", "./app.py" ]


A aplicação agora deve estar disponível em localhost:8080.

Baixar IT Flashcards Agora

Expanda o seu conhecimento de Docker com os nossos flashcards.
Dos princípios básicos de programação ao domínio de tecnologias avançadas, o IT Flashcards é seu passaporte para a excelência em TI.
Baixe agora e desbloque seu potencial no mundo competitivo da tecnologia de hoje.