Neste módulo, você compilará a imagem do contêiner para o aplicativo monolítico node.js e o enviará para o Amazon Elastic Container Registry. Comece a criar

Os contêineres permitem empacotar facilmente o código, as configurações e as dependências de um aplicativo em componentes básicos fáceis de usar que oferecem consistência ambiental, eficiência operacional, produtividade de desenvolvedores e controle de versões. Os contêineres podem ajudar a garantir rapidez, confiabilidade e consistência de implantação de aplicativos, independentemente do ambiente de implantação.

Velocidade
A execução de um contêiner com uma nova versão do código pode ser feita sem sobrecarga de implantação significativa. A velocidade operacional é melhorada, pois o código criado em um contêiner na máquina local do desenvolvedor pode ser facilmente movido para um servidor de testes simplesmente movendo o contêiner. No momento da compilação, este contêiner pode ser vinculado a outros contêineres necessários para executar a pilha de aplicativos.
Controle de dependência e pipeline melhorado
Uma imagem de contêiner do Docker é a captura de um momento específico do código e das dependências de um aplicativo. Isso possibilita que uma organização de engenharia crie um pipeline padrão para o ciclo de vida do aplicativo. Por exemplo:
- Os desenvolvedores compilam e executam o contêiner localmente.
- O servidor de integração contínua executa o mesmo contêiner e realiza testes de integração com ele para garantir que as expectativas sejam atendidas.
- O mesmo contêiner é enviado para um ambiente de preparação, onde seu comportamento de tempo de execução pode ser verificado com o uso de testes de carga ou controle de qualidade manual.
- O mesmo contêiner é enviado para produção.
Ser capaz de compilar, testar, enviar e executar exatamente o mesmo contêiner em todos os estágios da integração e da implantação do pipeline torna consideravelmente mais fácil o fornecimento de um aplicativo confiável e de alta qualidade.
Densidade e eficiência de recurso
Os contêineres facilitam a eficiência de recursos aprimorados ao permitir que múltiplos processos heterogêneos sejam executados em um único sistema. A eficiência de recurso é um resultado natural de técnicas de isolamento e alocação que os contêineres usam. Os contêineres podem ser limitados para consumir quantidades determinadas da CPU e da memória de um host. Ao perceber quais recursos um contêiner são necessários e quais estão disponíveis no servidor host subjacente, você pode dimensionar os recursos de computação usados com hosts menores ou aumentar a densidade de processos em execução em um único host grande, aumentando assim a disponibilidade e otimizando o consumo de recursos.
Flexibilidade
A flexibilidade de contêineres do Docker tem como base sua portabilidade, facilidade de implantação e seu tamanho pequeno. Em contraste com a instalação e a configuração exigidas em uma VM, os serviços de pacotes dentro dos contêineres permitem que eles sejam facilmente movidos entre hosts, isolados da falha de outros serviços próximos e protegidos contra correções errôneas ou atualizações de software no sistema do host.