Pesquisa sobre a tecnologia de contêiner virtualizado do Docker

Um fundo do Docker

  1 modelo de operação de serviço em nuvem 

A IaaS (infraestrutura como serviço): infraestrutura operacional, como o servidor Alibaba Cloud (apenas sistema operacional instalado)

 PaaS (Platform as a Service): plataformas operacionais, como a plataforma de desenvolvimento MySQL (plataforma pronta para instalação instalada no Linux) e a plataforma de desenvolvimento redis.

A SaaS (software como serviço): software operacional, como o sistema OA da empresa (software OA implantado em um servidor remoto) 

2 O que é o Docker

O Docker é uma tecnologia de contêiner virtualizado. Por meio da tecnologia de contêiner de virtualização do Docker, os recursos da máquina física podem ser usados ​​de maneira mais razoável e eficaz, e uma máquina física pode ser virtualizada em muitos "computadores virtuais" que possuem um sistema operacional completo e são independentes um do outro. 

Virtualização (Virtualização) 

   Uma tecnologia de gerenciamento de recursos consiste em abstrair e converter vários recursos físicos do computador, como servidores, redes, memória e armazenamento etc., para quebrar os obstáculos inseparáveis ​​entre as estruturas físicas, para que os usuários possam comparar o grupo original. Uma maneira melhor de aplicar esses recursos. A nova parte virtual desses recursos não é limitada pela maneira como os recursos existentes são configurados, geográfica ou fisicamente. Geralmente chamados de recursos de virtualização incluem poder de computação e armazenamento de dados

No ambiente de produção real, a tecnologia de virtualização é usada principalmente para resolver a reestruturação e reutilização da sobrecapacidade de hardware físico de alto desempenho e a capacidade de hardware antigo é muito baixa, transparente o hardware físico subjacente, de modo a maximizar o uso de hardware físico

  Classificação da tecnologia de virtualização

  Virtualização de software, virtualização de hardware, virtualização de memória, virtualização de rede, virtualização de desktop, virtualização de serviço, máquina virtual

  Docker é uma implementação baseada na tecnologia de virtualização de sistemas operacionais 

3 VM vs Docker

Velocidade de inicialização rápida O   sistema operacional de inicialização do contêiner Docker pode ser concluído em segundos, mas o VMware atingiu o nível de minuto

Baixo consumo de recursos do sistema   Um servidor Linux pode executar milhares de contêineres do Docker, enquanto o VMware pode executar apenas cerca de 10 ao mesmo tempo

Migração e expansão mais fáceis   Como os contêineres do Docker ocupam menos espaço em disco do que o VMware, no caso em que vários conjuntos de ambientes de software precisam ser criados, é mais rápido e conveniente migrar os contêineres do Docker instalados. E os contêineres do Docker podem ser executados em praticamente qualquer plataforma, incluindo máquinas virtuais, máquinas físicas, nuvens públicas, nuvens privadas, computadores pessoais etc. Essa compatibilidade permite que os usuários migrem um aplicativo de uma plataforma para outra

Dois conceitos principais do Docker 

O Docker contém quatro conceitos básicos:

 imagem

 Container

 Centro de Registro do Armazém (Registro)

Posit Repositório 

1 espelho 

 A imagem do Docker (imagem) é um modelo somente leitura da imagem do Docker que pode ser usado para criar contêineres do Docker

 O relacionamento entre a imagem do Docker e o contêiner do Docker é semelhante ao relacionamento entre classe e objeto em java.

O Docker fornece um mecanismo muito simples para criar ou atualizar uma imagem existente.Os usuários podem até baixar uma imagem já preparada diretamente de outras pessoas e usá-la diretamente. 

2 recipientes 

O Docker usa contêineres para executar aplicativos, que estão executando instâncias criadas a partir de imagens. Pode ser iniciado, iniciado, parado e excluído. Cada contêiner é uma plataforma isolada que garante segurança 

3 Registro e Repositório 

O Registry é um local para armazenar arquivos de imagem centralmente, e o repositório é para classificar e gerenciar as imagens nele.

Haverá vários Repositórios em um Registro e várias 
imagens com tags diferentes em um Repositório. 

O registro é dividido em duas formas: pública e privada. 

O maior registro público é o Docker Hub, que armazena um grande número de imagens para os usuários baixarem e usarem.

O registro público doméstico inclui o Netease Cloud, DaoCloud, AliCloud etc., que podem fornecer acesso mais estável e rápido

Os usuários podem criar um registro privado localmente

Depois que o usuário cria sua própria imagem, ele pode usar o comando push para carregá-la no registro público ou privado, para que na próxima vez em que use a imagem em outra máquina, ele só precise retirá-la do registro e executá-la.

 

Instalação de três Docker 

1 O sistema operacional padrão oficial está instalado no Ubuntu

Você pode desinstalar o yum -y remove docker antes de
 instalar 

Instalação:
 yum install -y docker 

Início:
 systemctl start docker

#systemctl start docker.service 

Listar espelhos 

imagens do docker 

Repositório: o nome do armazém em que o espelho está localizado
 Tag: a versão do espelho
 ID da imagem: o ID do espelho 

Criado: Hora de criação da imagem
 Tamanho: Tamanho da imagem

Espelho de pesquisa 

nome da imagem de pesquisa do docker 

AME NOME: nome do armazém 
 DESCRIÇÃO: descrição do espelho 
 STARS: avaliação do usuário, refletindo a popularidade de um espelho 
 OFICIAL: se é oficial AUTOMATED: construção automática, indicando que o espelho é criado pelo processo de construção automática do Docker Hub

2 Puxe a imagem 

O Docker Hub ( https://hub.docker.com/  ) é o registro público padrão do docker, mas a desvantagem é que o download doméstico será mais lento

Pull from ustc

Edite o arquivo na máquina host (o centos7 não suporta o comando vim, mas suporta o comando vi): vi /etc/docker/daemon.json 

Aderir 

{"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]

Por fim, você precisa reiniciar o serviço docker 

janela de encaixe systemctl restart 

docker pull centos: 7 

3 Excluir espelho 

Excluir a imagem especificada

docker rmi repository: tag

docker rmi imageID 

Excluir todos os espelhos 

docker rmi $ (imagens do docker -q) 

Ao excluir, se os IDs das imagens forem os mesmos, você precisará excluí-los em uma determinada ordem, porque há uma associação entre as imagens (referência).

4 Importar e exportar imagens (migração de imagens) 

Exporte a imagem: 

docker salvar repositório: tag / imageId> /root/xx.tar.gz 

janela de encaixe save -o mynginx.tar mynginx 

-o arquivo de saída 

Importar imagem: 

carga do docker </root/xx.tar.gz 

docker load -i mynginx.tar 

-i Insira o arquivo e verifique a imagem novamente após a execução. Você pode ver que a imagem foi restaurada 

Três contêineres Docker 

1 Crie e execute o contêiner 

Comando Criar Contêiner: Docker Run 

Descrição dos parâmetros comumente usados ​​para criar contêineres:

I -i: significa executar o contêiner 
 -t: significa que o contêiner entrará em sua linha de comando após o início. Após adicionar esses dois parâmetros, a criação do contêiner pode efetuar login. Ou seja, um pseudo terminal é atribuído. 
Name --name: Nomeie o contêiner criado. 
V -v: indica o relacionamento de mapeamento de diretório (o primeiro é o diretório do host, o último é mapeado para o diretório no host), você pode usar vários -v para fazer o mapeamento de vários diretórios ou arquivos. Nota: É melhor fazer o mapeamento de diretórios, fazer alterações na máquina host e compartilhar no contêiner. 
D -d: adicione o parâmetro -d após a execução, um contêiner daemon será criado para ser executado em segundo plano (para que o contêiner não seja automaticamente conectado após a criação do contêiner, se apenas dois parâmetros -i -t forem adicionados, ele será criado automaticamente após a criação No recipiente). 
P -p: indica o mapeamento da porta, a primeira é a porta do host e a última é a porta mapeada no contêiner. Você pode usar -p múltiplo para mapeamento de várias portas 

Execute o contêiner interativamente

docker run -i -t --name repositório de nomes de contêiner: tag / bin / bash 

docker run -it --name nome do contêiner imageID / bin / bash

Execute o contêiner como um daemon: 

docker run -di --name nome do contêiner repositório: tag 
docker run -di --name nome do contêiner imageID

Após criar e inserir o contêiner durante a execução, se o comando exit for usado para sair do contêiner, o contêiner será interrompido. Insira o contêiner novamente, primeiro use start para iniciar o contêiner, use o comando exec / attach para entrar no contêiner 

2 Inicie o contêiner 

docker iniciar nome do contêiner ou ID do contêiner 

3 Digite o container 

O comando para inserir o contêiner em execução é o seguinte: 

docker exec -it nome do contêiner ou ID do contêiner / bin / bash 

docker anexar nome ou ID do contêiner

Após anexar ao contêiner, se você usar exit para sair do contêiner, o contêiner será interrompido 

Depois que o exec entra no contêiner, use exit para sair do contêiner, o contêiner ainda está em execução.

4 Exibir contêiner 

docker ps: visualizar contêineres em execução

docker ps -a: exibe os contêineres executados historicamente

docker ps -l: exibe os contêineres executados recentemente

5 Pare o recipiente 

docker stop nome do contêiner ou ID do contêiner 

6 Excluir contêiner 

Exclua o contêiner especificado:   docker rm nome do contêiner ou ID do contêiner 

Excluir todos os contêineres:  docker rm 'docker ps -a -q' 

7 Copiar arquivos 

docker cp arquivo de origem texto de destino

docker cp /root/boot.war my-centos: / usr / local / 

/root/boot.war é o caminho da máquina host

my-centos é o nome do contêiner

/ usr / local / é o caminho dentro do contêiner.O
arquivo de origem pode ser a máquina host ou o arquivo no contêiner. Da mesma forma, o arquivo de destino pode ser o contêiner ou a máquina host


 Quatro aplicativos Docker

docker pull mysql: 5.6 

imagens do docker 

Criar contêiner mysql

docker run -di --name exp_mysql -p 33306: 3306 -e MYSQL_ROOT_PASSWORD = root mysql: 5.6 

-p significa mapeamento de porta, o formato é porta mapeada pelo host: porta de execução do contêiner 

-e significa adicionar a variável de ambiente MYSQL_ROOT_PASSWORD é a senha de login do usuário root 

Entre no container MySQL e efetue login no MySQL 

docker exec -it exp_mysql / bin / bash 

Login mysql 

mysql -u raiz -p 

Login remoto no mysql

 

Exibir endereço IP do contêiner 

janela de encaixe inspecione exp_mysql 


 Cinco espelhos artesanais

 

Requisitos: faça uma imagem do tomcat

1 Faça o download da janela de encaixe da imagem base (centos7) pull centos: 7 

2 Instale o jdk de 64 bits (nota: o jdk deve ser igual ao número de sistemas operacionais) 

vi / etc / profile 

exportar JAVA_HOME = / opt / jdk exportar PATH = $ JAVA_HOME / bin: $ PATH 

fonte / etc / profile 

3 Instale o tomcat 

4 Gere uma nova imagem 

docker confirmar o nome do contêiner ou o ID do contêiner novo nome de espelho


 


 

 


 


 
 

Lançado três artigos originais · ganhou elogios 4 · Vistas 2058

Acho que você gosta

Origin blog.csdn.net/liuguangjian2007/article/details/105466924
Recomendado
Clasificación