Мой вопрос связан с этим вопросом о копировании файлов из контейнеров на хосты; У меня есть Dockerfile, который извлекает зависимости, компилирует артефакт сборки из источника и запускает исполняемый файл. Я также хочу скопировать артефакт сборки (в моем случае он .zipсоздается sbt distв '../ target / `, но я думаю, что этот вопрос также относится к банкам, двоичным файлам и т. Д.
docker cpработает с контейнерами, а не с изображениями; мне нужно запускать контейнер только для того, чтобы получить из него файл? В сценарии я пробовал работать /bin/bashв интерактивном режиме в фоновом режиме, копируя файл, а затем убивая контейнер, но это кажется глупым. Есть ли способ лучше?
С другой стороны, я бы хотел избежать распаковки .tarфайла после запуска docker save $IMAGENAMEтолько для того, чтобы получить один файл (но сейчас это кажется самым простым, хотя и самым медленным вариантом).
Я бы использовал тома докеров, например:
docker run -v hostdir:out $IMAGENAME /bin/cp/../blah.zip /out
но я работаю boot2dockerв OSX, и я не знаю, как напрямую писать в мою файловую систему хоста Mac (тома для чтения и записи монтируются внутри моей виртуальной машины boot2docker, что означает, что я не могу легко поделиться сценарием для извлечения blah.zipиз образа с др. мысли?
createдобавлена / удалена команда (ее нет в 1.01)