Container


Em sua essência, um Container é um ambiente que contém todos os recursos necessários para executar uma aplicação de forma isolada do sistema operacional hospedeiro.

Uma característica importante dos Containers é sua leveza e portabilidade. Enquanto as máquinas virtuais podem ocupar gigabytes de espaço, os Containers geralmente têm apenas alguns megabytes. Isso os torna ideais para implantação e distribuição de aplicações, proporcionando maior agilidade no ciclo de entrega.

Comparado às máquinas virtuais, os Containers oferecem um nível de isolamento mais leve, compartilhando o mesmo Kernel do sistema operação do host de controle. Isso significa que, se um Container apresentar problemas, isso não afetará todo o ambiente de execução.

Cada container corresponde a 1 processo rodando na máquina, proporcionando um isolamento com o sistema e os outros containers. Entretanto, é possível interligar os containers entre si.

A portabilidade das imagens de Containers permite que as aplicações sejam executadas consistentemente em diferentes ambientes, desde o desenvolvimento até a produção. Essa consistência simplifica o ciclo de entrega e garante que o que funciona localmente também funcione em ambientes de produção.

Os contêineres são criados a partir de imagens, que são arquivos que contêm todas as configurações e dependências necessárias para rodar uma aplicação. Cada contêiner é uma instância única da imagem, com seu próprio espaço de armazenamento e recursos do sistema.

Em resumo, o uso de Containers, como facilitado pelo Docker e LXC, oferece uma abordagem eficiente e escalável para o desenvolvimento, implantação e execução de aplicações, promovendo maior agilidade, consistência e portabilidade em todo o processo de desenvolvimento de software.

Referências