Os usuários envolvidos em ambientes de contêineres provavelmente ouvirão sobre duas ferramentas e plataformas populares usadas para criar e gerenciar contêineres. Estes são Docker e Kubernetes.
Docker é um ambiente de tempo de execução popular usado para criar e construir software dentro de contêineres. Ele usa imagens Docker (snapshots copy-on-write) para implantar aplicativos ou software em contêineres em vários ambientes, do desenvolvimento ao teste e à produção. O Docker foi criado com base em padrões e funções abertos dentro da maioria dos ambientes operacionais comuns, incluindo Linux, Microsoft Windows e outras infraestruturas locais ou baseadas em nuvem.
No entanto, as aplicações em contêiner podem ficar complicadas. Quando em produção, muitos podem exigir centenas a milhares de recipientes separados em produção. É aqui que ambientes de tempo de execução de contentor, como o Docker, se beneficiam do uso de outras ferramentas para orquestrar e/ou gerenciar todos os contêineres em operação.
Uma das ferramentas mais populares para esse fim é o Kubernetes, um orquestrador de contêineres que reconhece vários ambientes de tempo de execução de contentor, incluindo o Docker.
O Kubernetes orquestra as operações de vários contêineres em harmonia. Ele gerencia áreas como o uso de recursos de infraestrutura subjacentes para aplicações em contêiner, como a quantidade de recursos de computação, rede e armazenamento necessários. Ferramentas de orquestração como o Kubernetes facilitam a automação e a escala de workloads baseados em contêineres para ambientes de produção ao vivo.