Моє запитання пов'язане з цим питанням щодо копіювання файлів з контейнерів у хости; У мене є 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 host (томи читання-запису монтуються всередині моєї VM boot2docker, а це означає, що я не можу легко поділитися сценарієм для отримання blah.zip
з зображення ін. Думки?
create
додала / видалила команда (її немає в 1.01)