Minha pergunta está relacionada a esta questão sobre como copiar arquivos de contêineres para hosts; Eu tenho um Dockerfile que busca dependências, compila um artefato de compilação da fonte e executa um executável. Também quero copiar o artefato de construção (no meu caso, é .zipproduzido por sbt distem '../ target / `, mas acho que esta questão também se aplica a jars, binários, etc.
docker cpfunciona em contêineres, não em imagens; eu preciso iniciar um contêiner apenas para obter um arquivo dele? Em um script, tentei executar /bin/bashno modo interativo em segundo plano, copiando o arquivo e, em seguida, encerrando o contêiner, mas isso parece confuso. Existe uma maneira melhor?
Por outro lado, gostaria de evitar descompactar um .tararquivo depois de executar docker save $IMAGENAMEapenas para retirar um arquivo (mas essa parece ser a opção mais simples, embora a mais lenta agora).
Eu usaria volumes do docker, por exemplo:
docker run -v hostdir:out $IMAGENAME /bin/cp/../blah.zip /out
mas estou executando boot2dockerem OSX e não sei como escrever diretamente no meu sistema de arquivos host mac (volumes de leitura e gravação estão montados dentro da minha VM boot2docker, o que significa que não posso compartilhar facilmente um script para extrair blah.zipde uma imagem com outros. Pensamentos?
createcomando adicionado / removido (não está presente no 1.01)