Pertanyaan saya terkait dengan pertanyaan tentang menyalin file dari container ke host; Saya memiliki Dockerfile yang mengambil dependensi, mengompilasi artefak build dari sumber, dan menjalankan file yang dapat dieksekusi. Saya juga ingin menyalin artefak build (dalam kasus saya ini .zipdiproduksi oleh sbt distin '../ target / `, tetapi menurut saya pertanyaan ini juga berlaku untuk toples, binari, dll.
docker cpbekerja pada kontainer, bukan gambar; apakah saya perlu memulai penampung hanya untuk mendapatkan file darinya? Dalam skrip, saya mencoba menjalankan /bin/bashmode interaktif di latar belakang, menyalin file keluar, dan kemudian mematikan penampungnya, tetapi ini tampaknya kludgey. Apakah ada cara yang lebih baik?
Di sisi lain, saya ingin menghindari pembongkaran .tarfile setelah menjalankan docker save $IMAGENAMEhanya untuk mengeluarkan satu file (tapi sepertinya itu opsi yang paling sederhana, jika paling lambat, saat ini).
Saya akan menggunakan volume buruh pelabuhan, misalnya:
docker run -v hostdir:out $IMAGENAME /bin/cp/../blah.zip /out
tetapi saya menjalankan boot2dockerOSX dan saya tidak tahu cara menulis langsung ke sistem file host mac saya (volume baca-tulis meningkat di dalam VM boot2docker saya, yang berarti saya tidak dapat dengan mudah membagikan skrip untuk diekstrak blah.zipdari gambar dengan orang lain.
createperintahnya ditambahkan / dihapus (tidak ada di 1.01)