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

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 feito sem uma sobrecarga de implantação significativa. A velocidade operacional é melhorada, porque o código criado em um contêiner na máquina local do desenvolvedor pode ser facilmente movido para um servidor de teste simplesmente movendo o contêiner. Durante a compilação, este contêiner pode ser vinculado a outros contêineres necessários para executar o pacote de aplicativos.
Controle de dependência e pipeline melhorado
Uma imagem de contêiner do Docker é a captura de um momento específico no código e dependências de um aplicativo. Isso permite 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 atenda às expectativas.
- O mesmo contêiner é enviado para um ambiente de teste onde seu comportamento em tempo de execução pode ser verificado usando 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 através de todas as etapas de integração e implantação do pipeline torna a entrega de um aplicativo confiável e de alta qualidade consideravelmente mais fácil.
Densidade e eficiência de recursos
Os contêineres facilitam a eficiência dos recursos aprimorados, permitindo que vários processos heterogêneos sejam executados em um único sistema. A eficiência do recurso é um resultado natural das técnicas de isolamento e alocação usadas pelos contêineres. Os contêineres podem ser restringidos para consumir determinadas quantidades da CPU e da memória de um host. Ao entender quais recursos um contêiner precisa e quais recursos estão disponíveis a partir do servidor host subjacente, você pode dimensionar os recursos de computação que você usa com hosts menores ou aumentar a densidade de processos em execução em um único host grande, aumentando a disponibilidade e otimizando o consumo de recursos.
Flexibilidade
A flexibilidade de contêineres do Docker é baseada em sua portabilidade, facilidade de implantação e pequeno porte. 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 sejam facilmente movidos entre os hosts, isolados da falha de outros serviços adjacentes e protegidos de correções errôneas ou atualizações de software no sistema do host.