Introdução aos fundamentos da tecnologia de contêineres

contente

História do desenvolvimento da tecnologia de contêineres 

Problemas de DevOps:

Conceitos Básicos:

Introdução a instâncias de contêiner e imagens de contêiner

Introdução ao Docker

Docker vs VM

manual:

Comandos comuns do Docker

Imagem do Docker

Espelhe a introdução do armazém e os cenários de aplicação

Como construir com Dockerfile

Comandos comuns

Ferramentas emergentes de criação de imagens

Resumir

Se este blog for útil para você, lembre-se de deixar uma mensagem + like + favorito.


História do desenvolvimento da tecnologia de contêineres 

Problemas de DevOps:

1. O aplicativo é entregue separadamente no ambiente operacional e a consistência do ambiente não pode ser garantida

2. Isolamento de recursos e meio ambiente

3. Houve muitas explorações antes, como isolamento no nível da máquina virtual, etc., explorando a busca de melhor isolamento, maior utilização de recursos e tempo de inicialização.

Conceitos Básicos:

No Linux, a tecnologia de contêiner é uma tecnologia de isolamento de processo. Os aplicativos podem ser executados em contêineres isolados uns dos outros. Semelhante às máquinas virtuais, os limites de recursos de computação podem ser definidos para esses contêineres, o armazenamento pode ser montado e as redes podem ser conectadas. máquinas virtuais, esses aplicativos são executados em um único Kernel.

A base dessas tecnologias é o LXC (Linux Container) do Linux, que combina os recursos de gerenciamento de recursos do Cgoups e os recursos de isolamento do Linux Namepsace.

Cgrupo

O Cgroup implementa a limitação de recursos do contêiner, incluindo muitos submódulos. No contêiner, usamos principalmente o submódulo cpu e o submódulo de memória. A memória é para obter o isolamento de memória e o cpu limita principalmente o uso da CPU de o processo.

Namespace

O Linux Namespace fornece um método para isolar os recursos do sistema no nível do kernel.Colocando os recursos globais do sistema em diferentes Namespaces, o objetivo do isolamento de recursos é alcançado. Programas em namespaces diferentes podem desfrutar de um recurso de sistema independente.

Namespace

Conteúdo da quarentena

UTS

nome de host e nome de domínio

IPC

Semáforos, filas de mensagens e memória compartilhada

PID

número do processo

Rede

Dispositivos de rede, pilhas de rede, portas, etc.

Montar

ponto de montagem

Do utilizador

usuários e grupos de usuários


Introdução a instâncias de contêiner e imagens de contêiner

Introdução ao Docker

O Docker é uma plataforma aberta para desenvolvimento, entrega e execução de aplicativos. A capacidade do Docker de separar aplicativos da infraestrutura permite a entrega rápida de software.

Com o Docker, a infraestrutura pode ser gerenciada da mesma forma que os aplicativos. Ao aproveitar a abordagem do Docker para entregar, testar e implantar código rapidamente, o atraso entre escrever o código e executá-lo na produção pode ser bastante reduzido.

Docker vs VM

  • A inicialização rápida do Docker pertence ao segundo nível. As máquinas virtuais geralmente levam alguns minutos para iniciar.
  • O Docker requer menos recursos. O Docker executa a virtualização no nível do sistema operacional. O contêiner docker interage com o kernel quase sem perda de desempenho. O desempenho é melhor do que a virtualização por meio da camada do hipervisor e da camada do kernel.
  • O Docker é mais leve e a arquitetura do Docker pode compartilhar um kernel e uma biblioteca de aplicativos compartilhados, ocupando uma quantidade muito pequena de memória.
  • Alta disponibilidade e capacidade de recuperação: o suporte de alta disponibilidade do Docker para negócios é obtido por meio de uma rápida reimplantação.
  • Criação e exclusão rápidas: a virtualização é criada em minutos e os contêineres do Docker são criados em segundos. A iteração rápida do Docker determina que muito tempo pode ser economizado no desenvolvimento, teste e implantação.
  • Entrega e implantação: As máquinas virtuais podem atingir a consistência da entrega do ambiente por meio de imagens, mas a distribuição de imagens não pode ser sistemática; o Docker registra o processo de construção do contêiner no Dockerfile, que pode obter distribuição rápida e implantação rápida em clusters.

manual:

  1. Primeiro, os desenvolvedores desenvolvem aplicativos e criam imagens na máquina do ambiente de desenvolvimento. O Docker executa o comando, cria a imagem e a armazena na máquina.
  2. O desenvolvedor envia o comando de upload de imagem. Depois que o Docker receber o comando, carregue a imagem local no repositório de espelho.
  1. O desenvolvedor envia um comando para executar a imagem na máquina de produção. Depois que a máquina de produção receber o comando, o Docker fará pull da imagem do repositório de imagens para a máquina e, em seguida, executará o contêiner com base na imagem.

Comandos comuns do Docker

Pedido

introduzir

construir

Construir a imagem do Dockerfile

executivo

Executar um comando em um contêiner já em execução

imagens

Listar todos os espelhos locais

carregar

importar arquivo de imagem

Conecte-se

Faça login no armazém de terceiros

sair

Saia do repositório de terceiros

Histórico

imprimir log

...

...

Imagem do Docker

Um novo tipo de mecanismo de empacotamento, distribuição e execução de aplicativos. Uma imagem de contêiner empacota o ambiente de tempo de execução do aplicativo, incluindo código, bibliotecas dependentes, ferramentas, arquivos de recursos e meta-informações, em um pacote de software imutável que é independente da distribuição do sistema operacional.


Espelhe a introdução do armazém e os cenários de aplicação

O Container Image Service (Software Repository for Container, SWR abreviado) é um serviço que oferece suporte ao gerenciamento completo do ciclo de vida de imagens, fornece funções de gerenciamento de imagem fáceis de usar, seguras e confiáveis ​​e pode implantar rapidamente serviços em contêiner. Os usuários podem fazer upload, download e gerenciar imagens de contêiner por meio da interface, CLI da comunidade e API nativa.

O que é um Dockerfile

Como construir com Dockerfile

Comandos comuns

# 构建镜像
# docker build -t forecast:v1

# 推送镜像到swr保存,用于下次实验
# docker tag frontend:v2 '仓库地址' /jarvis/forecast:v2
# docker push '仓库地址'/jarvis/forecast:v2

Ferramentas emergentes de criação de imagens

Problemas com a criação de imagens do Docker:

  1. Construção linear, todas as etapas são executadas sequencialmente
  2. Não é possível executar a linha 8 sob usuário normal
  1. Os dados confidenciais não podem ser limpos. Comandos em execução histórica podem ser visualizados na imagem construída. Se houver informações confidenciais no Dockerfile, elas sempre serão salvas na imagem.

Resumir

Como a pedra angular do desenvolvimento nativo da nuvem, novas tendências e desafios na tecnologia de contêineres atraíram muita atenção. As tecnologias nativas da nuvem representadas por contêineres estão se tornando o caminho mais curto para liberar o valor da nuvem.

Se este blog for útil para você, lembre-se de deixar uma mensagem + like + favorito .

Acho que você gosta

Origin blog.csdn.net/promsing/article/details/122726955
Recomendado
Clasificación