Revelando o véu da demonstração do processo de instalação e penteado da teoria do estivador

Revelando o véu do docker (teoria básica e instalação detalhada)

Prefácio

Este artigo descobrirá o véu do docker em torno dos seguintes aspectos:

  • O que é o docker?
  • Por que você precisa do docker?
  • O conceito central do docker

O que é o docker?

Baseado no Linux, o docker é uma ferramenta de código aberto para a execução de aplicativos , que pode ser considerada uma máquina virtual leve. O logotipo da janela de encaixe é uma baleia (versão antiga do logotipo) carregando o contêiner.A nova versão do logotipo simplifica diretamente os detalhes e altera a cor, conforme mostrado abaixo.

Revelando o véu da demonstração do processo de instalação e penteado da teoria do estivador

Como você pode ver na imagem, a criação do docker e as intenções dos desenvolvedores. Máquina hospedeira de baleia, contêiner isolado em caixa de bloco (o contêiner de encaixe é introduzido posteriormente). O objetivo do docker: criar, enviar e executar qualquer aplicativo, em qualquer lugar. Especificamente, é através do gerenciamento do ciclo de vida dos componentes de aplicativos correspondentes, como empacotamento, liberação, implantação e operação, para atingir o objetivo de "empacotamento único, executado em qualquer lugar" no nível do componente de aplicativo.

Um exemplo é como desenvolver um software de aplicativo.Espero que ele possa ser usado em qualquer lugar, a qualquer hora e em qualquer sistema operacional, e que possa ser implementado com base no docker. Obviamente, para o docker, esse componente pode ser um aplicativo, também pode ser uma configuração ou até um sistema operacional completo.

Por que você precisa do docker?

De fato, o surgimento do docker é um grande benefício para os desenvolvedores. Imagine o desenvolvimento atual ou futuro de aplicativos ou software baseados na nuvem, sem o hardware subjacente, e os usuários precisam obter recursos relevantes a qualquer momento e em qualquer lugar, para que o docker possa fornecer essa solicitação.

A seguir, é apresentada uma comparação direta entre contêineres de encaixe e máquinas virtuais tradicionais

Características Container Docker Máquina virtual
Velocidade inicial Segundo nível Nível de minuto
Perda de desempenho do computador Quase nenhuma perda Cerca de metade da perda
Desempenho Perto do nativo Fraco
Suporte do sistema Milhares Dezenas
Isolamento Limite de recursos Completamente isolado

O problema resolvido pelo núcleo do docker é usar contêineres para obter funções do tipo VM, para fornecer aos usuários mais recursos de computação com mais recursos de hardware salvos, e o docker é fácil de operar e também pode oferecer suporte à criação e implantação automatizadas flexíveis por meio dos arquivos de configuração do Dockerfile.

A seguir, mostramos a comparação entre o Docker e a arquitetura tradicional da máquina virtual:

Revelando o véu da demonstração do processo de instalação e penteado da teoria do estivador

Através da figura acima, verifica-se que a máquina virtual está isolada no nível do recurso físico.Em comparação com a máquina virtual, o Docker é baseado no isolamento no nível APP e o sistema operacional da máquina virtual é omitido, economizando parte dos recursos do sistema.

O daemon do Docker pode se comunicar diretamente com o sistema operacional principal e alocar recursos para cada contêiner do Docker; também pode isolar o contêiner do sistema operacional principal (por segurança) e isolar cada contêiner. A máquina virtual leva alguns minutos para iniciar e o contêiner do Docker pode iniciar em alguns milissegundos. Como não há sistema operacional secundário inchado, o Docker pode economizar muito espaço em disco e outros recursos do sistema.

Em resumo, a diferença entre uma máquina virtual e a janela de encaixe é que a máquina virtual precisa virtualizar os recursos de hardware por meio do hipervisor, e a janela de encaixe usa diretamente os recursos de hardware da máquina host, para que o isolamento da máquina virtual seja mais completo e a janela de encaixe O isolamento é o próximo.

O conceito central do Docker

1, imagem - imagem

Pode-se entender que é semelhante ao instantâneo em nossa máquina virtual e é a base para a criação de contêineres.Pode-se dizer que não há imagem nem contêineres.

2. Container-container

A instância em execução criada com base na imagem pode ser iniciada, parada e excluída. Cada recipiente é isolado e invisível um do outro.

3. Repositório do Warehouse

O local em que o espelho está salvo pode ser entendido como um local de armazenamento para o espelho. Você pode enviar sua própria criação ao armazém para facilitar o uso a qualquer hora, em qualquer lugar.

O servidor de registro do armazém (registro) é o local para armazenar o armazém, que contém vários armazéns, cada armazém armazena um tipo de imagem e usa diferentes tags (tags) para distinguir. Atualmente, o maior armazém público é o Docker Hub, que armazena um grande número de imagens para os usuários baixarem e usarem.

Aqui está um complemento para explicar a arquitetura do docker:

O Docker usa uma arquitetura cliente-servidor. Docker cliente e Docker daemon diálogo, o daemon concluir a construção, operação e distribuição de contentores Docker trabalho pesado. O cliente e daemon do Docker podem ser executados no mesmo sistema ou você pode conectar o cliente do Docker a um daemon do Docker remoto. Os clientes Docker e daemons usam APIs REST para se comunicar nos soquetes UNIX ou nas interfaces de rede.

Ícone da arquitetura:

Revelando o véu da demonstração do processo de instalação e penteado da teoria do estivador

Processo de instalação do Docker

O processo de instalação e implantação baseado no Linux / Centos7 é o seguinte:

Versão do sistema operacional: centos7.7

1. Implantação do ambiente

[root@localhost ~]# hostnamectl  set-hostname docker
[root@localhost ~]# su
[root@docker ~]# cat /etc/redhat-release 
CentOS Linux release 7.7.1908 (Core)

[root@docker ~]# systemctl stop firewalld && systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@docker ~]# setenforce 0 && sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config
[root@docker ~]# echo "net.ipv4.ip_forward=1" > /etc/sysctl.conf #开启路由转发
[root@docker ~]# sysctl -p #加载路由转发功能
net.ipv4.ip_forward = 1
[root@docker ~]# systemctl restart network

2. Instale pacotes dependentes

[root@docker ~]# yum install -y yum-utils device-mapper-persistent-data lvm2
...
更新完毕:
  lvm2.x86_64 7:2.02.185-2.el7_7.2                                                                       

作为依赖被升级:
  device-mapper.x86_64 7:1.02.158-2.el7_7.2             device-mapper-event.x86_64 7:1.02.158-2.el7_7.2 
  device-mapper-event-libs.x86_64 7:1.02.158-2.el7_7.2  device-mapper-libs.x86_64 7:1.02.158-2.el7_7.2  
  lvm2-libs.x86_64 7:2.02.185-2.el7_7.2                

完毕!

Descrição:

O pacote yum-utils é instalado para fornecer uma unidade yum-config-manager, e o device-mapper-persistent-data e o lvm2 instalados ao mesmo tempo são usados ​​para armazenar os dois pacotes de software necessários para o mapeamento do dispositivo.

3. Configure um repositório estável

[root@docker ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
已加载插件:fastestmirror, langpacks
adding repo from: https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
grabbing file https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@docker ~]# ls /etc/yum.repos.d/ #查看是否加入了一个docker源
CentOS-Base.repo  CentOS-Debuginfo.repo  CentOS-Media.repo    CentOS-Vault.repo
CentOS-CR.repo    CentOS-fasttrack.repo  CentOS-Sources.repo  docker-ce.repo

4. Instale o mecanismo da janela de encaixe

[root@docker ~]# yum install -y docker-ce 
...
已安装:
  docker-ce.x86_64 3:19.03.8-3.el7                                                                       

作为依赖被安装:
  container-selinux.noarch 2:2.107-3.el7              containerd.io.x86_64 0:1.2.13-3.1.el7             
  docker-ce-cli.x86_64 1:19.03.8-3.el7               

完毕!

5. Crie o diretório docker e configure o serviço de aceleração de imagem

[root@docker ~]# mkdir /etc/docker -p
[root@docker ~]# tee /etc/docker/daemon.json <<-'EOF'
> {
>   "registry-mirrors": ["https://5m9y9qbl.mirror.aliyuncs.com"]
> }
> EOF
{
  "registry-mirrors": ["https://5m9y9qbl.mirror.aliyuncs.com"]
}

Descrição: tee command-write da entrada padrão para o arquivo e saída padrão, ou seja, copie os dados de entrada padrão para cada arquivo FILE e envie-os para a saída padrão ao mesmo tempo.

6. Abra o serviço e verifique a versão

[root@docker ~]# systemctl daemon-reload 
[root@docker ~]# systemctl restart docker.service 
[root@docker ~]# docker -v
Docker version 19.03.8, build afacb8b

[root@docker ~]# docker version
Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b
 Built:             Wed Mar 11 01:27:04 2020
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       afacb8b
  Built:            Wed Mar 11 01:25:42 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Sumário

Este artigo apresenta principalmente o papel do docker, o compara com as características das máquinas virtuais tradicionais e o nível da arquitetura, depois fala sobre os três principais componentes do docker e, finalmente, fornece o processo de instalação do docker baseado no sistema operacional Centos7 no Linux.

Acho que você gosta

Origin blog.51cto.com/14557673/2486808
Recomendado
Clasificación