Por que as soluções de espelhamento SpringBoot-2.3 têm várias camadas

fundo

  1. No artigo "Experimentando SpringBoot (2.3) Criação de aplicativos Docker Mirror (solução oficial)" , experimentamos a solução de espelhamento oficial recomendada, executamos o comando docker history para observar o interior do espelho e descobrimos que ele é composto de várias camadas, conforme mostrado na figura a seguir:
    Insira a descrição da imagem aqui
  2. Aí vem a pergunta: o que você faz com tantas camadas? A seguir, na forma de gráficos e texto, você entenderá a função da camada de imagem docker para desenvolvedores Java;

declaração

O objetivo deste artigo é ajudar os desenvolvedores Java a compreender a função da camada de espelhamento docker por meio de gráficos e texto. O conteúdo não é totalmente consistente com a situação real. Por exemplo, a camada do espelho básico não é mencionada, e a camada do espelho Java pode não incluir apenas espelhos de negócios, arquivos de configuração, Depende das três camadas da biblioteca;

Papéis comuns

Ao usar o docker, existem três funções comuns:

  1. Espelhando por: aqui está o desenvolvedor do aplicativo SpringBoot, para finalizar a aplicação do docker imagem de código feito;
  2. Armazém de espelho público Docker: O fabricante de espelho empurra o espelho para o armazém para que todos possam usar;
  3. Usuário do espelho: baixe o espelho do warehouse do espelho para uso local;

A história a seguir gira em torno dos três papéis acima;

O processo desde a produção até o uso

  1. Conforme mostrado na figura abaixo, um desenvolvedor de aplicativos SpringBoot, depois de escrever o código, transforma o aplicativo em uma imagem docker. O TAG da imagem é 1.0. Neste momento, quando o desenvolvedor envia a imagem para o armazém público, um total de três camadas deve ser enviado:
    Insira a descrição da imagem aqui
  2. Em seguida, se o usuário quiser baixar o espelho, ele baixa três camadas do repositório de espelho:
    Insira a descrição da imagem aqui
  3. Neste momento, o conteúdo dos três personagens é o mesmo, e eles são três camadas:
    Insira a descrição da imagem aqui
  4. Nesse momento, o desenvolvedor do SpringBoot modificou o código de negócios e fez um novo espelho (TAG é 2.0) e, em seguida, empurrou-o para o warehouse de espelho;
  5. vem o ponto : como apenas o código de negócios é alterado, apenas a camada da classe de negócios é nova e apenas essa camada será enviada para o warehouse, conforme mostrado abaixo:
    Insira a descrição da imagem aqui
  6. Para usuários de espelho, se você baixou um espelho 1.0 antes, se deseja usar um espelho 2.0 neste momento, você só precisa baixar a camada de classe de serviço mais recente do warehouse:
    Insira a descrição da imagem aqui
  7. O resultado final é o seguinte: Tanto os armazéns públicos quanto os usuários de espelho obtiveram espelhos 2.0 com o menor custo:
    Insira a descrição da imagem aqui
    pode ser visto que o uso de espelhos de múltiplas camadas no processo de distribuição de espelhos será mais eficiente do que o espelhamento de uma única camada, especialmente ao usar hubs. Armazéns públicos na Internet, como .docker.com, e em cenários onde novas versões são lançadas com frequência;

Bem-vindo ao meu GitHub

  • Endereço: https://github.com/zq2599/blog_demos
  • Conteúdo: Classificação e resumo de artigos originais, e código fonte de suporte, envolvendo Java, Docker, K8S, DevOPS, etc .;

Bem-vindo a seguir minha conta pública: programador Xin Chen

Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/boling_cavalry/article/details/106600620
Recomendado
Clasificación