Mi pregunta está relacionada con esta pregunta sobre cómo copiar archivos de contenedores a hosts; Tengo un Dockerfile que busca dependencias, compila un artefacto de compilación desde la fuente y ejecuta un ejecutable. También quiero copiar el artefacto de compilación (en mi caso, es .zipproducido por sbt disten '../ target / `, pero creo que esta pregunta también se aplica a jar, binarios, etc.
docker cptrabaja en contenedores, no en imágenes; ¿Necesito iniciar un contenedor solo para sacar un archivo? En un script, intenté ejecutarlo /bin/bashen modo interactivo en segundo plano, copiando el archivo y luego matando el contenedor, pero esto parece tonto. ¿Existe una forma mejor?
Por otro lado, me gustaría evitar desempaquetar un .tararchivo después de ejecutarlo docker save $IMAGENAMEsolo para sacar un archivo (pero esa parece la opción más simple, aunque más lenta, en este momento).
Usaría volúmenes de docker, por ejemplo:
docker run -v hostdir:out $IMAGENAME /bin/cp/../blah.zip /out
pero estoy corriendo boot2dockeren OSX y no sé cómo escribir directamente en mi sistema de archivos de host mac (los volúmenes de lectura y escritura se montan dentro de mi máquina virtual boot2docker, lo que significa que no puedo compartir fácilmente un script para extraer blah.zipde una imagen con otros ¿Pensamientos?
createcomando agregado / eliminado (no está presente en 1.01)