Introdução ao docker (o uso de imagens e contêineres)

Docker usa o catálogo de séries relacionadas ao tutorial


índice

1. O que é uma imagem docker

Introdução ao espelho Docker

A relação entre imagem e contêiner

Em segundo lugar, liste as imagens do docker

Tres, puxe o espelho

Puxe do hub docker

fonte de espelho ustc (recomendado)

Quarto, encontre o espelho

Cinco, construa um espelho 

Instale o tomcat

1. Instale primeiro o centos

 2. Crie um contêiner interativo


1. O que é uma imagem docker

Introdução ao espelho Docker

O sistema operacional é dividido em um kernel e um espaço do usuário.Para Linux, depois que o kernel é iniciado, o sistema de arquivos raiz será montado para fornecer suporte de espaço do usuário para ele. A imagem Docker (imagem) é equivalente a um sistema de arquivos raiz.
A imagem Docker é um sistema de arquivos especial. Além de fornecer os programas, bibliotecas, recursos, configuração e outros arquivos exigidos pelo tempo de execução do contêiner, ela também contém alguns parâmetros de configuração preparados para o tempo de execução (como volumes anônimos, variáveis ​​de ambiente, usuários, etc. .)). A imagem não contém nenhum dado dinâmico e seu conteúdo não será alterado após sua construção.

A imagem docker é armazenada por padrão em: / var / lib / docker / diretório

A relação entre imagem e contêiner

A relação entre imagem (imagem) e contêiner (contêiner) é como a classe e instância na programação orientada a objetos. A imagem é uma definição estática e o contêiner é a entidade da imagem em tempo de execução. Os contêineres podem ser criados, iniciados, parados, excluídos, suspensos, etc.
A essência de um contêiner é um processo, mas ao contrário de um processo que é executado diretamente no host, um processo de contêiner é executado em seu próprio namespace independente. Portanto, o contêiner pode ter seu próprio sistema de arquivos raiz, sua própria configuração de rede, seu próprio espaço de processo e até mesmo seu próprio espaço de ID de usuário. O processo no contêiner é executado em um ambiente isolado e, quando usado, é como se estivesse operando em um sistema host independente. Esse recurso torna os aplicativos encapsulados em contêiner mais seguros do que a execução direta no host.
Conforme mencionado anteriormente, o espelhamento usa armazenamento hierárquico e o mesmo é verdadeiro para contêineres. Quando cada contêiner está em execução, a imagem é a camada de base e uma camada de armazenamento do contêiner atual é criada nela. A camada de armazenamento preparada para leitura e gravação do contêiner durante o tempo de execução pode ser chamada de camada de armazenamento do contêiner.
O ciclo de vida da camada de armazenamento do contêiner é o mesmo do contêiner. Quando o contêiner morre, a camada de armazenamento do contêiner também morre. Portanto, todas as informações armazenadas na camada de armazenamento do contêiner serão perdidas quando o contêiner for excluído.
De acordo com os requisitos das práticas recomendadas do Docker, o contêiner não deve gravar nenhum dado em sua camada de armazenamento, e a camada de armazenamento do contêiner deve permanecer sem estado. Todas as operações de gravação de arquivo devem usar volumes de dados (volume) ou vincular o diretório do host. Ler e gravar nesses locais irá ignorar a camada de armazenamento e ler e gravar diretamente no host (ou armazenamento de rede). Seu desempenho e estabilidade Sexo superior.
O ciclo de vida do volume de dados é independente do contêiner, e o contêiner morre e o volume de dados não morre. Portanto, depois que o volume de dados for usado, os dados não serão perdidos depois que o contêiner for excluído ou executado novamente.


Em segundo lugar, liste as imagens do docker

Inicie o docker primeiro

systemctl restart docker.service

Listar imagens do docker

docker images

 

Tres, puxe o espelho

Puxe do hub docker

Ao extrair imagens do Docker Hub, os seguintes problemas costumam ocorrer:

0ad1d6225e75a44f6ff3638032d6509aff6.png

solução:

O Docker extrai a imagem do hub do docker porque ela é obtida do exterior, o que é mais lento. Você pode obter imagens de espelho do país configurando a fonte de espelho doméstica para melhorar a velocidade de extração.

fonte de espelho ustc (recomendado)

Configuração

cd /etc/docker

https://note.youdao.com/yws/public/resource/c378f17da771056bd3b5d4de78656ee3/xmlnote/717AD8183D7A4F568BA29C944CEA3C42/63262

vi daemon.json
复制保存
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}

Reinicie o serviço docker

systemctl restart docker.service

Puxar espelho centos

docker pull centos

Depois que o pull for bem-sucedido, verifique

docker images

Como usar espelhos de terceiros

https://hub.docker.com/search?type=image

O documento contém instruções detalhadas sobre como usá-lo

Quarto, encontre o espelho

docker search tomcat

 NOME: Nome do espelho

DESCRIÇÃO: Descrição do espelho

STARS: avaliação do usuário, quanto maior o valor, mais popular

OFICIAL: é oficial

AUTOMATIZADO: Construir automaticamente, o que significa que a imagem foi criada pelo processo de construção automática do hub do docker;

Cinco, construa um espelho 

Instale o tomcat

1. Instale primeiro o centos

Listar imagens do docker

docker images

Se você já o tem, não precisa instalá-lo novamente. Se não tiver, instale o centos

docker pull centos

 2. Crie um contêiner interativo

docker run -i -t --name=mycentos centos

Observação:

O que esses dois parâmetros (-i, -t) significam

Opções Significar
-eu Execute o contêiner no modo interativo, geralmente usado com -t;
-t Realoque um terminal de pseudo entrada para o contêiner, geralmente usado ao mesmo tempo que -i;

 Para dentro do contêiner

Instale o JDK

yum install java-1.8.0-openjdk* -y

Instalação bem sucedida

0

Definir variáveis ​​de ambiente

Após o centos8 instalar o Java através do yum, verifique o caminho de instalação do Java

ls -lrt /usr/bin/java 
ls -lrt /etc/alternatives/java

0

0

vi /etc/profile

0

Cole o seguinte conteúdo na parte inferior do arquivo e salve

Nota: Após JAVA_HOME, é o seu caminho de instalação real!

export JAVA_HOME=/usr/local/jdk-xxxx
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

0

生效命令:source /etc/profile 
测试命令:java -version

0

Copie o tomcat para o servidor

Pode ser carregado para o servidor via SCP

0

Retorne ao servidor docker, copie o tomcat para o contêiner

docker cp apache-tomcat-8.5.47.zip mycentos:/root/

Entre no container

docker attach mycentos

0

Saia do contêiner:

exit

0

Encontre o recipiente

docker ps -a

0

Erro:

You cannot attach to a stopped container, start it first

0

Solução: inicie o contêiner

0

Veja o tomcat no contêiner

0

Descompacte o zip

Instale descompactar primeiro

0

0

mover para

mv apache-tomcat-8.5.47 /usr/local/tomcat8

O contêiner é enviado como uma nova imagem

Saia do contêiner primeiro

exit

O contêiner é enviado como uma nova imagem

docker commit mycentos mytomcat8

0

Inicie o contêiner do tomcat com a nova imagem

-p é mapeamento de porta

docker run -d -i -t --name=tomcat -p 8888:8080 mytomcat8 /bin/bash

 0

0

Inicie o contêiner do Tomcat

 0

Comece o tomcat

Observação: a porta acessada é a porta mapeada pelo docker, não a porta do próprio tomcat

É o fim, câmbio!

Acho que você gosta

Origin blog.csdn.net/shi_hong_fei_hei/article/details/114188984
Recomendado
Clasificación