Montando um diretório de volume externo do docker como uma partição host (lvm), isso funcionará?

2

Eu tenho muitos containers que crescem desconfortavelmente rapidamente; por exemplo, bancos de dados. Quando você cria um volume de encaixe externo ( docker volume create {volume_name} ), eu o vejo listado no diretório de volumes do docker em /var/lib/docker/volumes/{volume_name} .

Não há problema em montar o diretório volume_name em uma partição LVM para que eu possa usar o sistema operacional host para estender a partição com facilidade? Eu realmente tentei isso para um container mysql, mas quando eu fiz isso, eu não vi nenhum arquivo dentro de /var/lib/docker/volumes/{volume_name}/ .

Isso é uma coisa válida a se fazer?

    
por Sina 18.11.2017 / 09:14

1 resposta

3

Se você quiser fazer isso, sua melhor aposta seria criar um LV que seja montado em /var/lib/docker/volumes/<volname> antes de criar o volume no Docker. Eu também tentei no meu laptop. Eu criei o LV montado em /var/lib/docker/volumes/demo , montei-o, criei o volume demo no Docker e tudo parecia feliz.

Como alternativa, o modo lvm direto do Docker também pode abordar esse problema .

Citando: "O driver devicemapper usa dispositivos de bloco dedicados ao Docker e opera no nível de bloco, em vez do nível de arquivo. Esses dispositivos podem ser estendidos adicionando armazenamento físico ao host do Docker e eles funcionam melhor do que usando um sistema de arquivos no nível do sistema operacional. "

    
por 19.11.2017 / 16:03