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:
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:
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:
Em seguida, execute docker02
docker run -it --name docker02 --volumes-from docker01 ybg/centos:1.0
Captura de tela:
Em seguida, criamos um novo teste de pasta em volume01 de docker02 para
verificar se a pasta volume01 de docker01
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
visualizar a pasta volume01 de docker02, o arquivo de teste ainda está lá