A extração de um único arquivo de alguma imagem pode ser obtida com:
docker run some_image cat some_file > some_file
O redirecionamento > some_file
é interpretado pelo bash do seu host, não pelo comando do Docker.
Eu gostaria de extrair um arquivo de uma imagem do Docker sem ter que executar a imagem.
A opção docker save
não é atualmente uma opção viável para mim, pois está salvando um arquivo muito grande apenas para remover um arquivo específico.
A extração de um único arquivo de alguma imagem pode ser obtida com:
docker run some_image cat some_file > some_file
O redirecionamento > some_file
é interpretado pelo bash do seu host, não pelo comando do Docker.
Se não estou enganado, acredito que os contêineres docker armazenam arquivos em cache criados no seguinte diretório para o Ubuntu:
/var/lib/docker/aufs/diff/<container_id>
De lá, você deve conseguir acessar o sistema de arquivos e recuperar seus arquivos.
Nenhum dos itens acima funcionou para mim. O comando de trabalho completo é:
docker run --rm --entrypoint /bin/sh image_name -c "cat /path/filename" > output_filename
Sem aspas cat
é passado sem nome de arquivo, por isso não sabe o que mostrar. Também é uma boa idéia excluir o contêiner após o término do comando.
Tags docker