O Docker é uma das ferramentas que revolucionaram a maneira como implantamos aplicativos e como também os distribuímos.
É também uma tecnologia de alta demanda e alta consideração, amada pela grande maioria de seus usuários, e é uma grande habilidade para ter em seu currículo.
Usando o Docker, podemos criar um contêiner que envolverá um aplicativo inteiro.
Mais do que isso: ele pode agrupar aplicativos inteiros e pode ser salvo em uma imagem para ser facilmente replicada.
Replicação é o termo-chave aqui. Usando o Docker, podemos criar uma máquina virtual que é executada no seu computador, nos computadores dos seus clientes, no seu servidor, em qualquer lugar, e ele usa versões específicas do software que queremos que seja executado.
Isso ajuda a resolver toda uma classe de problemas derivados de configurações incorretas e incompatibilidade de versões entre diferentes ambientes.
O Docker é complexo, mas acho que lida com muitos tópicos complexos, de uma maneira relativamente amigável.
É por isso que "obtê-lo" pode remover muita complexidade da sua vida como desenvolvedor, tanto como criador de software quanto consumidor de software.
Chega de "mas funciona na minha máquina". Você não precisa mais dizer isso e não precisa mais ser informado.
Todos sabemos que a depuração é difícil, e é super difícil quando algo funciona em todos os ambientes que você testou e não funciona em uma configuração estranha. Existem simplesmente muitas partes móveis.
O Docker também é ótimo para distribuir um software que você cria, mas não deseja lidar com as inúmeras solicitações de suporte provenientes de pessoas que tentam instalá-lo em todos os servidores e configurações da Web possíveis.
Outro grande benefício do Docker é poder executar vários aplicativos executando versões diferentes da mesma pilha, algo que seria difícil ou pelo menos confuso sem uma solução semelhante.