Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Dica
Esse conteúdo é um trecho do eBook, arquitetura de microsserviços do .NET para aplicativos .NET em contêineres, disponível em do .NET Docs ou como um PDF para download gratuito que pode ser lido offline.
Esta seção lista os termos e definições com os quais você deve estar familiarizado antes de se aprofundar no Docker. Para obter mais definições, consulte o glossário extensivo fornecido pelo Docker.
Imagem do contêiner: um pacote com todas as dependências e informações necessárias para criar um contêiner. Uma imagem inclui todas as dependências (como estruturas) mais a implantação e a configuração de execução a serem usadas por um runtime de contêiner. Normalmente, uma imagem deriva de várias imagens base que são camadas empilhadas umas sobre as outras para formar o sistema de arquivos do contêiner. Uma imagem é imutável depois de criada.
Dockerfile: um arquivo de texto que contém instruções para criar uma imagem do Docker. É como um script em lotes, a primeira linha indica a imagem base para começar e, em seguida, siga as instruções para instalar programas necessários, copiar arquivos e assim por diante, até obter o ambiente de trabalho necessário.
Build: a ação de criar uma imagem de contêiner com base nas informações e no contexto fornecidos por seu Dockerfile, além de arquivos adicionais na pasta em que a imagem é criada. Você pode criar imagens com o seguinte comando do Docker:
docker build
Contêiner: uma instância de uma imagem do Docker. Um contêiner representa a execução de um único aplicativo, processo ou serviço. Ele consiste no conteúdo de uma imagem do Docker, um ambiente de execução e um conjunto padrão de instruções. Ao dimensionar um serviço, você cria várias instâncias de um contêiner da mesma imagem. Ou um trabalho em lote pode criar vários contêineres da mesma imagem, passando parâmetros diferentes para cada instância.
Volumes: ofereça um sistema de arquivos gravável que o contêiner possa usar. Uma vez que as imagens são somente leitura, mas a maioria dos programas precisam gravar para o sistema de arquivos, os volumes adicionam uma camada gravável sobre a imagem de contêiner, de modo que os programas têm acesso a um sistema de arquivos gravável. O programa não sabe que está acessando um sistema de arquivos em camadas, é apenas o sistema de arquivos como de costume. Os volumes residem no sistema de host e são gerenciados pelo Docker.
Marca: uma marca ou rótulo que você pode aplicar a imagens para que diferentes imagens ou versões da mesma imagem (dependendo do número de versão ou do ambiente de destino) possam ser identificadas.
Build de vários estágios: é um recurso disponível no Docker 17.05 e posteriores que ajuda a reduzir o tamanho das imagens finais. Por exemplo, uma imagem base grande, que contém o SDK, pode ser usada para compilar e publicar e, em seguida, uma pequena imagem base somente de runtime pode ser usada para hospedar o aplicativo.
Repositório (repo): uma coleção de imagens Docker relacionadas, identificadas por uma tag que indica a versão da imagem. Alguns repositórios contêm várias variantes de uma imagem específica, como uma imagem que contém SDKs (mais pesada), uma imagem que contém apenas runtimes (mais leve), etc. Essas variantes podem ser marcadas com marcas. Um único repositório pode conter variantes de plataforma, como uma imagem do Linux e uma imagem do Windows.
Registro: um serviço que fornece acesso a repositórios. O registro padrão para a maioria das imagens públicas é o Hub do Docker (de propriedade do Docker como uma organização). Um registro geralmente contém repositórios de várias equipes. As empresas geralmente têm registros privados para armazenar e gerenciar imagens que criaram. O Registro de Contêiner do Azure é outro exemplo.
Imagem de vários arcos: para várias arquiteturas (ou multiplataforma), é um recurso do Docker que simplifica a seleção da imagem apropriada, de acordo com a plataforma em que o Docker está em execução. Por exemplo, quando um Dockerfile solicita uma imagem base FROM mcr.microsoft.com/dotnet/sdk:8.0 do registro, ele realmente obtém 8.0-nanoserver-ltsc2022, 8.0-nanoserver-1809 ou 8.0-bullseye-slim, dependendo do sistema operacional e da versão em que o Docker está em execução.
Hub do Docker: um registro público para carregar imagens e trabalhar com elas. O Docker Hub fornece hospedagem de imagens do Docker, repositórios públicos ou privados, gatilhos de compilação e webhooks, além de integração com o GitHub e o Bitbucket.
Registro de Contêiner do Azure: um recurso público para trabalhar com imagens do Docker e seus componentes no Azure. Isso fornece um registro próximo às suas implantações no Azure e que fornece controle sobre o acesso, possibilitando o uso de seus grupos e permissões do Azure Active Directory.
Registro Confiável do Docker (DTR): um serviço de registro do Docker (do Docker) que pode ser instalado localmente para que ele resida no datacenter e na rede da organização. É conveniente para imagens privadas que devem ser gerenciadas dentro da empresa. O Registro Confiável do Docker está incluído como parte do produto Do Docker Datacenter.
Docker Desktop: ferramentas de desenvolvimento para Windows e macOS para compilar, executar e testar contêineres localmente. O Docker Desktop para Windows fornece ambientes de desenvolvimento para contêineres do Linux e do Windows. O host do Docker do Linux no Windows é baseado em uma máquina virtual Hyper-V . O host para contêineres do Windows é baseado diretamente no Windows. O Docker Desktop para Mac baseia-se na estrutura do Apple Hypervisor e no hipervisor xhyve, que fornece uma máquina virtual de host do Docker linux no macOS. O Docker Desktop para Windows e para Mac substitui a Caixa de Ferramentas do Docker, que foi baseada no Oracle VirtualBox.
Compose: uma ferramenta de linha de comando e formato de arquivo YAML com metadados para definir e executar aplicações multi-contêineres. Você define um único aplicativo com base em várias imagens com um ou mais arquivos .yml que podem substituir valores dependendo do ambiente. Depois de criar as definições, você pode implantar todo o aplicativo de vários contêineres com um único comando (docker-compose up) que cria um contêiner por imagem no host do Docker.
Cluster: uma coleção de hosts do Docker expostos como se fosse um único host virtual do Docker, para que o aplicativo possa ser dimensionado para várias instâncias dos serviços distribuídas entre vários hosts dentro do cluster. Os clusters do Docker podem ser criados com Kubernetes, Azure Service Fabric, Docker Swarm e Mesosphere DC/OS.
Orchestrator: uma ferramenta que simplifica o gerenciamento de clusters e hosts do Docker. Os orquestradores permitem que você gerencie suas imagens, contêineres e hosts por meio de uma CLI (interface de linha de comando) ou uma interface do usuário gráfica. Você pode gerenciar a rede de contêineres, configurações, balanceamento de carga, descoberta de serviço, alta disponibilidade, configuração de host do Docker e muito mais. Um orquestrador é responsável por executar, distribuir, dimensionar e reparar de cargas de trabalho em uma coleção de nós. Normalmente, os produtos de orquestrador são os mesmos produtos que fornecem infraestrutura de cluster, como Kubernetes e Azure Service Fabric, entre outras ofertas no mercado.