Volume de dados do Docker (dois) e contêiner de volume de dados

Prefácio: Existem duas maneiras principais de gerenciar dados em contêineres do Docker: Data Volumes e DataVolumes
Containers.

1. volume de dados

Um volume de dados é um diretório especial usado por um contêiner, localizado dentro do contêiner. O diretório do host pode ser montado no volume de dados, e a operação de modificação do volume de dados pode ser vista imediatamente, e os dados atualizados não afetarão a imagem, realizando assim a migração de dados entre o host e o container. O uso de volumes de dados é semelhante à operação de montagem para diretórios no Linux.

Exemplo: Monte o diretório do host /var/www em /data1 e /data2 nos contêineres c1 e c2, respectivamente

(1) Crie dois contêineres e especifique o ponto de montagem

docker run -itd -v /var/www:/data1 --name c1 centos:7 bash
docker run -itd -v /var/www:/data2 --name c2 centos:7 bash

insira a descrição da imagem aqui

(2) Gravar dados no diretório do host

echo "this is test fuck web" > index.html

(3) Abra dois outros terminais, faça login no contêiner c1 c2 respectivamente e visualize os arquivos no diretório do ponto de montagem

[Falha na transferência da imagem do link externo, o site de origem pode ter mecanismo anti-leech, é recomendado salvar a imagem e carregá-la diretamente (img-uCR6ErFD-1646747800007) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\Docker data admin\2.bmp)]

[Falha na transferência da imagem do link externo, o site de origem pode ter mecanismo anti-leech, é recomendado salvar a imagem e carregá-la diretamente (img-SP5HhmRh-1646747800008) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\Docker data admin\3.bmp)]

Enquanto a montagem for bem sucedida, ela também pode obter compartilhamento de arquivos.Por exemplo, se eu criar um arquivo no terminal c2, ele também poderá ser visto no host c1.

[Falha na transferência da imagem do link externo, o site de origem pode ter mecanismo anti-leech, é recomendado salvar a imagem e carregá-la diretamente (img-JGay82bn-1646747800009) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\Docker data admin\4.bmp)]

[Falha na transferência da imagem do link externo, o site de origem pode ter mecanismo anti-leech, é recomendado salvar a imagem e carregá-la diretamente (img-b1DQUUIu-1646747800009) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\Docker data admin\5.bmp)]

[Falha na transferência da imagem do link externo, o site de origem pode ter mecanismo anti-leech, é recomendado salvar a imagem e carregá-la diretamente (img-Q9wmgULv-1646747800009) (C:\Users\zhuquanhao\Desktop\Screenshot command collection\linux \Docker\Docker data admin\6.bmp)]

2. Contêiner de volume de dados

Se você precisar compartilhar alguns dados entre contêineres, a maneira mais fácil é usar contêineres de volume de dados. Um contêiner de volume de dados é um contêiner comum que fornece volumes de dados para outros contêineres montarem e usarem.

(1) Primeiro, crie um contêiner de volume de dados

docker run -itd --name v1 -v /data1 -v /data2 centos:7 bash
#有data1 data2 两个挂载点目录

(2) Crie outro contêiner e monte-o no contêiner de volume de dados

 docker run -itd --name v2 --volumes-from v1 centos:7 bash

(3) Abra dois outros terminais para fazer login no contêiner v1 v2 respectivamente e veja o ponto de montagem
insira a descrição da imagem aqui

Acho que você gosta

Origin blog.csdn.net/weixin_54059979/article/details/123364373
Recomendado
Clasificación