Мой вопрос связан с этим вопросом о копировании файлов из контейнеров на хосты; У меня есть 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)