Conhecendo o Dockerfile pela primeira vez e realizando a sincronização de dados entre contêineres

Conhecendo o Dockerfile pela primeira vez e realizando a sincronização de dados entre contêineres

1. Primeiro familiarizado com o Dockerfile

Dockerfile é simplesmente um arquivo de construção e script de comando usado para construir uma imagem docker. O espelho pode ser gerado por meio desse script, o espelho é camada por camada, o script comanda um a um e cada comando é uma camada.

Um dockerfile simples

# 创建一个dockerfile文件,名字可以随机 建议Dockerfile
# 文件中的内容 指令(大写) 参数
FROM centos

VOLUME ["volume01","volume02"]

CMD echo "---------end---------"
CMD /bin/bash

# 这里的每一个命令就是镜像的一层

Execute sua própria imagem:

docker run -it 镜像id /bin/bash

Captura de tela:
Insira a descrição da imagem aqui
Insira a descrição da imagem aqui
Você pode ver que existem volume01 e volume02. Esses são dois volumes de dados. O host deve ter seu diretório de montagem correspondente.

Podemos ver as informações detalhadas do contêiner, podemos encontrar o catálogo relevante

docker inspect 容器id

Captura de tela:
Insira a descrição da imagem aqui

2. Realize a sincronização de dados entre contêineres

É relativamente simples realizar a sincronização de dados entre os contêineres. Você só precisa executar um contêiner (com uma pasta montada) e, em seguida, adicionar outro contêiner. --volumes-from 刚刚运行的容器名
Veja a imagem acima como exemplo:
primeiro execute docker01

docker run -it --name docker01 ybg/centos:1.0

Captura de tela:
Insira a descrição da imagem aqui
Em seguida, execute docker02

docker run -it --name docker02 --volumes-from docker01 ybg/centos:1.0

Captura de tela:
Insira a descrição da imagem aqui
Em seguida, criamos um novo teste de pasta em volume01 de docker02 para
Insira a descrição da imagem aqui
verificar se a pasta volume01 de docker01
Insira a descrição da imagem aqui
está sincronizada.Você pode ver que as duas pastas estão sincronizadas.

Para contêineres que compartilham dados, exclua qualquer um, os dados de outros contêineres não serão excluídos

Por exemplo:
com base no agora, excluímos docker01 para
Insira a descrição da imagem aqui
visualizar a pasta volume01 de docker02, o arquivo de teste ainda está lá
Insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/weixin_43520670/article/details/113619713
Recomendado
Clasificación