Eu tenho uma imagem do docker com cerca de 900 MB , ela possui um diretório /data
onde estão todos os dados que desejo e também um /data/.git
diretório que gostaria de excluir.
Eu gostaria de criar um contêiner de dados (usando a imagem do busybox, por exemplo) apenas com os dados sob a /data
exclusão do /data/.git
diretório
Como faço isso da maneira mais eficiente?
/data
Excluindo o é /data/.git
apenas cerca de 130 MB
Então, basicamente, terei um contêiner de dados com aproximadamente 130 MB a 200 MB em comparação com a outra imagem do docker que tem 900 MB.
Obrigado
Eu migraria para um volume nomeado e o criaria com o seguinte:
O
cp -av /data/* /target
irá ignorar todos os arquivos dot, então você pode precisar adicionar outros manualmente se tiver mais do que apenas o ".git", por exemplocp -av /data/* /data/.app-files /target
Se você deseja criá-lo primeiro com uma cópia completa de /data e depois excluir a pasta .git mais tarde, é ainda mais fácil:
Desde que "data-vol" não tenha sido inicializado, ele será criado com o conteúdo /data completo pelo Docker. E então o primeiro comando que você executa é para limpar a pasta ".git".
Depois de ter o volume "data-vol", você pode reutilizá-lo em outro outro contêiner com: