O que é o Docker?

Alan Zeichick | Redator Sênior | 8 de dezembro de 2025

O desenvolvimento de software percorreu um longo caminho desde os dias de "mas funciona na minha máquina!" Isso é em grande parte graças à conteinerização, que permite que um aplicativo seja executado perfeitamente on-premises e em vários servidores de nuvem, movendo e escalando conforme necessário por meio de ambientes isolados e consistentes.

O Docker é uma plataforma de software padrão de código aberto que ajuda os desenvolvedores a criar, testar e implantar aplicativos em contêineres rapidamente. Não é de admirar, então, que o Docker e seus serviços de contêineres associados tenham sido amplamente adotados nos últimos anos. De uma tecnologia de código aberto quase desconhecida e bastante técnica em 2013, o Docker evoluiu para um ambiente de tempo de execução padronizado agora com suporte oficial para muitos produtos corporativos.

Como dissemos, percorremos um longo caminho.

O que é o Docker?

O Docker é uma plataforma de código aberto que permite aos desenvolvedores e administradores de sistemas empacotar aplicativos em contêineres. Esses contêineres podem ser enviados para uma plataforma de implantação, como servidores on-premises ou servidores na nuvem, e depois executados diretamente. Você pode executar muitos contêineres do Docker, cada um com seu próprio aplicativo, em um único servidor, e esses aplicativos serão isolados uns dos outros, fornecendo assim segurança e confiabilidade de dados.

A flexibilidade de executar contêineres Docker em qualquer servidor compatível é um dos maiores pontos fortes da tecnologia. O Docker foi introduzido pela primeira vez pelo engenheiro de software visionário Solomon Hykes, que apresentou o conceito na conferência PyCon 2013. Hykes, juntamente com uma equipe dedicada, visava enfrentar os desafios em torno da implantação de aplicativos em servidores, um trabalho que geralmente envolvia processos com uso intensivo de recursos, pesados e propensos a erros. O Docker foi concebido para simplificar e otimizar todo o ciclo de vida do aplicativo.

Hoje, os contêineres Docker são usados para implementações críticas de negócios e em larga escala que envolvem milhares de contêineres e centenas de servidores. Inspirado no conceito fundamental de conteinerização, o Docker trouxe uma abordagem nova e inovadora para a implementação de aplicativos. Ele elevou a conteinerização a novas alturas, introduzindo um conjunto de recursos poderosos.

Por que contêineres?

Os contêineres do Linux estão em uso desde 2008, mas o surgimento de contêineres do Docker em 2013 tornou a tecnologia amplamente adotada. Um grande benefício dos contêineres é que eles contêm tudo o que é necessário para executar um aplicativo ou um serviço específico, incluindo todas as bibliotecas, gráficos, como ícones ou componentes de interface do usuário, ferramentas do sistema e o executável em tempo de execução. Um contêiner do Docker foi projetado para ser executado em um sistema operacional específico, como Linux ou Windows. Na maioria das vezes, os contêineres Docker podem ser implantados em qualquer servidor - ou laptop ou desktop - executando esse sistema operacional, sem alterações de configuração necessárias.

Docker vs. Kubernetes

O ecossistema Docker está envolvido na criação de contêineres, na colocação de todas as partes do aplicativo nesses contêineres e no empacotamento deles para implantação. Isso é bom para alguns contêineres, mas e centenas ou milhares? É aí que entra a plataforma de automação do Kubernetes.

Assim como o Docker, o Kubernetes é um projeto de código aberto amplamente suportado em todo o setor de tecnologia. É a ferramenta que você usa para automatizar o processo de implantação de contêineres Docker em servidores, monitorando seu desempenho, iniciando novos contêineres quando necessário, atualizando contêineres para as versões mais recentes e desativando-os quando chegar a hora.

O principal benefício do Kubernetes é que ele ajuda a gerenciar a complexidade operacional da implantação de muitos contêineres em vários servidores - como tal, é essencial para qualquer implementação em larga escala da tecnologia de contêiner, seja na nuvem ou on-premises. O Kubernetes orquestra automaticamente o ciclo de vida do contêiner, distribuindo os contêineres pela infraestrutura de hospedagem. Kubernetes pode aumentar ou diminuir rapidamente os recursos, dependendo da demanda.

Principais conclusões

  • Os contêineres empacotam tudo o que é necessário para executar um aplicativo, incluindo seus executáveis binários, bibliotecas, imagens e outros dados, juntamente com os detalhes de configuração do aplicativo.
  • O Docker é um dos formatos mais comuns para criar aplicativos conteinerizados; é de código aberto e amplamente suportado por todos os principais provedores de nuvem.
  • Com o Docker, não há necessidade de instalar e configurar manualmente um aplicativo porque esse processo é feito quando um contêiner é construído.
  • Com o isolamento, muitos contêineres podem ser instalados em um único servidor, maximizando o valor do hardware do servidor.
  • Ferramentas padrão do setor, como o Kubernetes, podem automatizar a implementação de centenas ou até milhares de aplicativos em contêineres em uma rede.

Docker explicado

O Docker é um framework de desenvolvimento de aplicativos aberto, projetado para beneficiar DevOps e desenvolvedores. Ele permite um modelo DevOps, no qual os desenvolvedores são responsáveis por gerenciar aplicativos baseados em nuvem, em vez do método mais tradicional em que os desenvolvedores criaram o código e o "jogaram na parede" para uma equipe administrativa separada que, em seguida, implantou e gerenciou o aplicativo.

Usando o Docker, os desenvolvedores podem facilmente criar, embalar, entregar e executar aplicativos em quase qualquer sistema como contêineres leves, portáteis, auto-suficientes. Agora, os desenvolvedores podem se concentrar em garantir que seu aplicativo atenda às necessidades da organização, em vez de se preocupar com o sistema operacional ou o sistema de implantação subjacente.

Além disso, os desenvolvedores podem selecionar entre milhares de aplicativos conteinerizados de código aberto feitos para serem executados em um ambiente Docker. Para equipes de DevOps, o Docker se presta a cadeias de ferramentas de integração e desenvolvimento contínuos e reduz as restrições e a complexidade da arquitetura do sistema. Com o Docker e os serviços de nuvem de orquestração de contêineres, como Kubernetes, qualquer desenvolvedor pode criar aplicativos em contêineres localmente e, em seguida, executá-los em produção em serviços de nuvem.

Benefícios do uso do Docker

Contêineres Docker democratizam o desenvolvimento: Indivíduos do setor de software geralmente separam desenvolvedores por especialização — front-end, back-end ou qualquer concentração no meio. Com o Docker, qualquer pessoa familiarizada com os conceitos básicos pode criar, implantar e gerenciar contêineres. Os serviços de conteinerização do Docker oferecem muitas vantagens adicionais em relação ao método tradicional de instalação de software diretamente em um servidor.

Essas vantagens incluem:

  • Consistência: Encapsular aplicativos e suas dependências dentro de contêineres pode gerar comportamento e desempenho de runtime consistentes.
  • Gerenciamento eficiente de recursos: A arquitetura de kernel compartilhado do Docker permite que vários contêineres sejam executados em um único host com o mínimo de sobrecarga, maximizando a utilização de recursos de hardware.
  • Escalabilidade aprimorada: Quando um aplicativo em execução dentro de um contêiner fica sobrecarregado, o gerente do Kubernetes pode criar outra instância desse contêiner em outro servidor. Um balanceador de carga pode dividir o trabalho entre as instâncias em execução.
  • Isolamento e segurança: Os contêineres fornecem isolamento do processo, o que melhora a segurança de cada aplicativo em execução em um servidor.
  • Arquitetura de microsserviços: a tecnologia de conteinerização é um capacitador-chave de uma arquitetura de microsserviços, em que os aplicativos são divididos em serviços menores e independentes executados em seus próprios contêineres. Isso aumenta a modularidade, a escalabilidade e a capacidade de manutenção.
  • Portabilidade: Os contêineres fornecem portabilidade de aplicativos em diversos ambientes, do desenvolvimento à produção, o que permite fácil movimentação entre diferentes configurações de infraestrutura.
  • Implantação rápida: Com tempos de inicialização rápidos e utilização eficiente de recursos, os contêineres são facilmente interrompidos e iniciados, facilitando atualizações simples para código de runtime e balanceamento de carga eficaz.
  • Utilização de recursos confiável e eficiente: Um servidor pode ser dedicado a um único contêiner do Docker. No entanto, se o contêiner não precisar de todos os recursos do servidor, esse servidor também poderá ser usado para executar contêineres adicionais, aproveitando o hardware por completo.
  • Gerenciamento simplificado: A interface intuitiva e o conjunto robusto de ferramentas e comandos do Docker ajudam a simplificar o gerenciamento de contêineres, facilitando o monitoramento, a atualização e a escala de aplicativos.
  • Implantação mais rápida e integração de CI/CD: O processo de instalação e configuração de software em um servidor pode levar minutos ou horas. Implantar um contêiner é rápido? Leva alguns segundos. A plataforma de automação do Kubernetes é essencial para a abordagem moderna de integração/implementação contínua comumente usada para executar aplicações nativas da nuvem.

Como o Docker funciona

Os conceitos básicos de Docker são imagens e contêineres. Uma imagem do Docker contém tudo o que é necessário para executar software: o código executável, drivers, ferramentas, scripts, bibliotecas, implantações e muito mais.

Um contêiner Docker é uma instância em execução de uma imagem do Docker. No entanto, ao contrário das máquinas virtuais tradicionais, um contêiner do Docker é executado no kernel do sistema operacional host; portanto, a imagem não contém um sistema operacional separado. Embora isso torne o contêiner leve e portátil, ele também exige que o contêiner seja configurado para um sistema operacional específico. Um contêiner Docker que contém um aplicativo escrito e compilado para o Linux de destino só pode ser executado em um servidor baseado em Linux; o mesmo se aplica a um aplicativo escrito e compilado para o Windows de destino.

Cada contêiner Docker tem seu próprio sistema de arquivos, sua própria pilha de rede e, portanto, seu próprio endereço IP, seu próprio espaço de processo, e limitações de recursos definidas para CPU e memória. Como um contêiner Docker não precisa inicializar um sistema operacional, ele é inicializado instantaneamente. O Docker é sobre isolamento, separando os recursos de um sistema operacional host do aplicativo. É por isso que é possível executar muitos contêineres em um único servidor, cada um separado com segurança um do outro, mas compartilhando o sistema operacional e o hardware base.

Arquitetura do Docker explicada

A arquitetura de um sistema de produção Docker requer um daemon Docker, um cliente Docker, imagens e registros de contêineres e orquestração e gerenciamento de contêineres. Essas peças podem ser executadas na nuvem ou on-premises.

  • O daemon Docker é um processo em segundo plano que é executado em cada servidor, desktop ou estação de trabalho, que hospedará contêineres do Docker. Ele gerencia todas as interações com os contêineres, como iniciá-los, interrompê-los e rotear a comunicação de rede de e para eles.
  • O cliente Docker é a ferramenta que os desenvolvedores e administradores usam para interagir com o daemon Docker. Uma vez ostentando uma interface de linha de comando, o cliente Docker agora oferece uma interface gráfica.
  • Uma imagem de contêiner é um modelo somente para leitura usado para provisionar um contêiner. O daemon Docker lê a imagem do contêiner, que informa como iniciar e configurar o contêiner no servidor e, em seguida, iniciar o aplicativo dentro desse contêiner.
  • Os registros de contêiner são recursos centralizados que armazenam imagens do Docker, juntamente com suas descrições. O cliente Docker ou a plataforma de automação do Kubernetes instrui o daemon Docker a acessar o registro de contêiner e recuperar e iniciar cada imagem de contêiner conforme necessário.
  • Orquestração de contêineres é o processo de gerenciamento de muitos contêineres, centenas ou milhares, talvez em dezenas ou centenas de servidores na nuvem ou em um data center on-premises. Para implantações relativamente pequenas, as organizações podem usar o Docker Swarm, um recurso incorporado à plataforma Docker. Para implementações maiores em uma empresa, o Kubernetes é o padrão do setor.
  • O gerenciamento de contêiner envolve orquestração, bem como dimensionamento, balanceamento de carga, análise de log e log, além de segurança e controle de acesso.

Docker versus Máquinas Virtuais

A diferença entre máquinas virtuais (VMs) tradicionais e contêineres é significativa. Uma VM é uma simulação completa de software de um servidor (ou de qualquer computador) que inclui o sistema operacional, drivers de dispositivos, aplicativos e dados. Em uma configuração de VM, um hipervisor é executado no servidor e orquestra as máquinas virtuais, executando a mesma função que o Mecanismo Docker executa com contêineres.

Um contêiner, por outro lado, contém apenas aplicativos e dados; ele usa um sistema operacional de computador host e drivers de dispositivo.

As VMs são usadas para executar vários sistemas operacionais e fornecer ambientes de aplicativos seguros e isolados em uma única máquina física. Mas, embora as VMs ofereçam certas vantagens, elas também têm limitações:

  • Uso insuficiente de recursos: cada VM requer um sistema operacional completo, levando a substancialmente mais consumo de recursos de memória, armazenamento e processamento do que contêineres.
  • Escalabilidade limitada: Como as VMs são uma simulação de um computador inteiro, são necessários muito mais recursos apenas para gerenciar a sobrecarga. Isso limita a capacidade do computador de executar tarefas úteis.
  • Tempo de inicialização lento: A inicialização de uma VM envolve o carregamento de todo um sistema operacional. Esse processo leva tempo, dificultando o desempenho geral do sistema.

OS contêineres, por outro lado, fornecem um ambiente isolado para executar aplicativos enquanto compartilham o kernel do sistema operacional do host, eliminando a necessidade de uma instalação completa do sistema operacional dentro de cada contêiner. Essa arquitetura de kernel compartilhado oferece vários benefícios:

  • Uso eficiente de recursos: Os contêineres compartilham o kernel do host, resultando em requisitos reduzidos de memória e armazenamento em comparação com VMs.
  • Escalabilidade aprimorada: a escalabilidade horizontal de aplicativos em contêineres é uma meta principal do Docker. Seu design permite a implementação rápida de várias instâncias com o mínimo de sobrecarga de recursos.
  • Tempos de inicialização rápidos: sem a necessidade de inicializar um sistema operacional completo, os contêineres podem ser inicializados em questão de segundos, oferecendo implantação de aplicativos mais rápida e melhor desempenho do sistema.
Por outro lado, os contêineres Docker usam o sistema operacional e os drivers de dispositivo do sistema host, para que mais recursos de processador e memória do servidor possam ser alocados para o aplicativo. Um servidor Linux que executa 20 contêineres Docker precisa executar apenas uma única instância do Linux.
Uma comparação de uma arquitetura de máquina virtual com contêineres Docker.

Conteinerização versus Implantação Tradicional

Em implantações tradicionais, o software é carregado em um servidor ou em uma máquina virtual configurada com um sistema operacional, drivers de dispositivo, aplicativos e dados. Este é um processo lento mais adequado para aplicações grandes e monolíticas que geralmente são executadas em um servidor dedicado, seja na nuvem ou em um data center.

Por outro lado, os contêineres oferecem uma maneira leve de empacotar um aplicativo e todas as suas dependências em uma imagem. Essa imagem é então armazenada em um repositório, onde pode ser extraída e executada em um servidor de destino em questão de segundos. O modelo de contêiner Docker é mais fácil de escalar com ferramentas de automação, além de ser econômico e permitir que os desenvolvedores maximizem os recursos de seus servidores.

Principais componentes do Docker

Os principais conceitos do Docker são imagens e contêineres, descritos anteriormente. Veja a seguir componentes adicionais de um sistema de contêiner Docker:

  • Mecanismo Docker: O Mecanismo Docker é o ambiente de runtime principal responsável por criar, executar e gerenciar contêineres. Ele fornece uma interface entre o sistema operacional do host e os contêineres, permitindo a alocação e o desempenho ideais de recursos.
  • Docker Hub: O Docker Hub é um repositório baseado na nuvem que fornece uma vasta coleção de imagens públicas e privadas e serve como uma plataforma para compartilhar e colaborar em projetos relacionados ao Docker.
  • Docker Compose: o Docker Compose é uma ferramenta que simplifica a definição e o gerenciamento de aplicativos multicontainer. Ele permite que os desenvolvedores definam e configurem vários contêineres e suas dependências em um único arquivo, chamado de arquivo YAML, facilitando assim a implantação e a escalabilidade de aplicativos complexos.
  • Docker Swarm: O Docker Swarm é uma ferramenta de cluster e orquestração que cria grupos de Mecanismos do Docker. Ele permite o gerenciamento de muitos contêineres em vários hosts, fornecendo recursos como balanceamento de carga, descoberta de serviço e implantação de aplicativos escaláveis. O Docker Swarm foi amplamente substituído pelo Kubernetes, uma plataforma de código aberto para gerenciamento e orquestração de contêineres.
  • CLI e API do Docker: A interface de linha de comando (CLI) do Docker fornece comandos intuitivos para desenvolvedores e administradores e ferramentas de script simples para gerenciar contêineres, incluindo processos para iniciar, interromper e monitorar seu status. A API do Docker permite que ferramentas de automação e orquestração mais sofisticadas, como o Kubernetes, executem essas mesmas funções com mais facilidade do que a CLI.

Casos de uso comuns do Docker

A versatilidade e os recursos avançados de conteinerização do Docker o tornaram uma escolha preferida para organizações em vários setores. Estes são os usos mais comuns do Docker, geralmente em conjunto com o Kubernetes:

  • Big data e análise: A utilização eficiente de recursos e a escalabilidade tornam os contêineres uma escolha ideal para aplicativos de big data e análise. Empresas em setores com uso intensivo de dados, como finanças e saúde, usaram contêineres para processar e analisar grandes conjuntos de dados, otimizando a alocação de recursos e melhorando o desempenho.
  • Aplicativos nativos da nuvem: Com o surgimento da computação em nuvem, os contêineres se tornaram um facilitador essencial para a criação de aplicativos nativos da nuvem. A capacidade de empacotar e implementar aplicativos como contêineres fornece portabilidade e flexibilidade entre provedores de nuvem, oferecendo os benefícios da computação em nuvem sem restrição de fornecedor.
  • DevOps e integração contínua: Organizações como Spotify e Pinterest aproveitaram os contêineres para simplificar seus processos DevOps e permitir a integração contínua. Os contêineres fornecem um ambiente consistente e reproduzível, simplificando o teste e a implantação de alterações de código no pipeline de desenvolvimento.
  • Arquiteturas baseadas em microsserviços: As principais empresas de tecnologia de consumo, como Netflix, Uber e Airbnb, adotaram a tecnologia de conteinerização para criar e gerenciar suas arquiteturas baseadas em microsserviços. A capacidade dos contêineres de lidar com cenários de aplicativos complexos com vários serviços executados em paralelo tem sido vital para o sucesso deles.
  • Implantação de aplicações Web: Os contêineres são amplamente usados para implantar aplicações Web, fornecendo desempenho consistente e confiável. Eles oferecem um ambiente escalável e altamente seguro para blogs simples e plataformas de comércio eletrônico complexas.

Introdução a Contêineres

Para os novos usuários do Docker e contêineres, aqui está um guia passo a passo para começar:

  1. Instale o Docker. A primeira etapa é fazer download do Docker e instalá-lo em seu sistema operacional preferencial. O Docker fornece pacotes de instalação para Windows, macOS e várias distribuições Linux, tornando-o acessível a uma ampla gama de usuários.
  2. Criar uma imagem do Docker. Comece criando uma imagem do Docker, que serve como base para seu contêiner. Isso envolve a gravação de um Dockerfile, um arquivo de texto que define as etapas necessárias para criar sua imagem, incluindo a imagem base, a instalação de dependências e a configuração do aplicativo. Uma imagem do Docker é criada em camadas, cada uma representando uma das etapas no Dockerfile.
  3. Crie e execute. Quando a imagem do Docker estiver pronta, você poderá criar e executar seu primeiro contêiner. A interface de linha de comando do Docker fornece comandos intuitivos para gerenciar contêineres, permitindo que você inicie, interrompa e monitore seu status.
  4. Explore o ecossistema do Docker. O Docker oferece um rico conjunto de ferramentas e serviços que você pode usar para aprimorar sua experiência de conteinerização. O Docker Hub, um repositório baseado em nuvem, fornece uma vasta coleção de imagens prontas para uso e serve como uma plataforma para compartilhar e colaborar em projetos relacionados ao Docker. O Docker Compose simplifica o gerenciamento de aplicativos multicontainer.

Melhores práticas do Docker

À medida que você explora o uso do Docker na sua organização, considere algumas práticas recomendadas empregadas por muitas empresas que adotaram o desenvolvimento nativo da nuvem:

  • Otimizando o tamanho e as camadas da imagem: Imagens do Docker menores são mais fáceis de criar, testar e implantar. Você pode começar com uma pequena imagem base removendo arquivos desnecessários do seu sistema antes de criar a imagem.
  • Gerenciamento de segurança e permissões: Somente usuários autorizados devem ter permissão para acessar contêineres, e o mau comportamento dos aplicativos nesses contêineres não deve corromper ou ameaçar a segurança. A orientação padrão se aplica — nunca execute aplicativos como usuário root, mantenha-se atualizado sobre patches e use os recursos de controle de acesso do Docker para limitar os privilégios do Linux ou do Windows de seus contêineres.
  • Rede e balanceamento de carga eficientes: Os contêineres são mais eficientes quando estão fracamente acoplados, ou seja, quando você pode criar e mover contêineres onde quer que faça sentido na rede, em vez de serem vinculados a um local fixo. Você pode usar a Rede do Docker para definir uma arquitetura de rede flexível e ferramentas como o Nginx para rotear e balancear a carga do tráfego entre contêineres em uma implantação em larga escala.
  • Monitoramento e registro em log no Docker: ao contrário dos aplicativos monolíticos implantados em um único servidor, o monitoramento da integridade de aplicativos conteinerizados em larga escala pode ser complicado sem o uso de ferramentas de automação. Planeje a centralização dos logs de cada contêiner e use ferramentas de monitoramento para detectar falhas e visualizar métricas de desempenho.

Otimize sua estratégia de contêiner para o crescimento

A Oracle fornece tudo o que é necessário para criar e implementar aplicações nativas da nuvem, incluindo ferramentas, serviços e automação, para que as equipes de desenvolvimento possam criar rapidamente, reduzindo as tarefas operacionais.

Os serviços nativos da nuvem são executados na Oracle Cloud Infrastructure (OCI), que oferece uma plataforma baseada em padrões com melhor desempenho e menor custo em comparação com outros provedores de nuvem. Ao aproveitar serviços baseados em código aberto e padrões abertos, como Docker e Kubernetes, a OCI permite que os desenvolvedores executem aplicativos em qualquer ambiente on-premises ou na nuvem.

O Docker e as tecnologias associadas, incluindo o Kubernetes, tiveram uma adoção generalizada e um tremendo sucesso nos últimos anos. De uma tecnologia de código aberto quase desconhecida e bastante técnica em 2013, o Docker evoluiu para um ambiente de tempo de execução padronizado agora com suporte oficial para muitos produtos corporativos.

O Docker é um componente essencial do software modular nativo da nuvem atual que oferece escalabilidade, resiliência, flexibilidade e economia de custos. Saiba como começar.

Perguntas Frequentes sobre o Docker

O que são contêineres?

Os contêineres agrupam todo o código e as dependências de um aplicativo em um formato padrão, permitindo que ele seja executado de forma rápida e confiável na maioria dos servidores. O Docker é um formato de código aberto padrão do setor para contêineres.

Por que usar o Docker em vez dos métodos de implantação tradicionais?

Tradicionalmente, os administradores precisavam instalar arquivos de um aplicativo, incluindo binários executáveis, bibliotecas e dados, em um servidor e, em seguida, configurar tudo para funcionar corretamente. Para instalar e executar vários aplicativos em um servidor ao mesmo tempo para maximizar a utilização do hardware, eles precisariam garantir que esses aplicativos não interfiram entre si e que, se um falhar, não causaria falha nos outros. Isso pode ser muito complexo, para dizer o mínimo, e é difícil de automatizar.

Por outro lado, a criação de um contêiner que contém um aplicativo significa que o contêiner também tem os binários executáveis, bibliotecas e dados — e tudo é pré-configurado. Para executar o aplicativo, basta copiar o contêiner para o servidor e o Mecanismo do Docker e o daemon Docker cuidarão do restante. Além disso, os contêineres são isolados, portanto, se um aplicativo falhar, ele não afetará o que está sendo executado em outros contêineres. Ferramentas como o Kubernetes também podem automatizar a implementação e o gerenciamento de aplicativos conteinerizados em grande escala.

O Docker pode substituir completamente as máquinas virtuais?

Considere o Docker e as máquinas virtuais como tecnologias complementares. Os contêineres usam o sistema operacional e os drivers de dispositivo do computador host. Isso os torna rápidos e eficientes, e geralmente a opção mais atraente na maioria dos casos.

No entanto, pode haver situações em que uma máquina virtual é uma escolha melhor. Isso inclui a execução de aplicativos em um sistema operacional dedicado sem compartilhar nenhum de seus recursos, exigindo drivers de dispositivos especializados ou executando vários sistemas operacionais no mesmo servidor.

Como o Docker se integra ao Kubernetes?

O Kubernetes é um sistema de código aberto que gerencia contêineres do Docker. Ele os implanta, inicia e interrompe, os escala com várias instâncias quando necessário e até reinicia contêineres se um aplicativo falhar ou parar de responder. O Docker Compose, parte do sistema base do Docker, pode lidar com implementações de contêineres em pequena escala, enquanto o Kubernetes é ideal para dimensionar para dezenas, centenas ou até milhares de contêineres.

Qual o papel do Docker nas estratégias de nuvem empresarial?

Os contêineres Docker são perfeitos para implementar software na nuvem. Isso pode significar aplicativos tradicionais executados em um contêiner ou aplicativos nativos da nuvem baseados em microsserviços que consistem em dezenas de serviços separados executados em seus próprios contêineres. Os contêineres podem simplificar o desenvolvimento e a implementação de serviços na nuvem e melhorar a escalabilidade, a segurança, a conformidade, os testes e a disponibilidade de aplicativos empresariais. O Docker e o Kubernetes podem até maximizar a utilização de servidores em nuvem, o que pode reduzir os custos de tempo de execução.