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 .zip
diproduksi oleh sbt dist
in '../ target / `, tetapi menurut saya pertanyaan ini juga berlaku untuk toples, binari, dll.
docker cp
bekerja pada kontainer, bukan gambar; apakah saya perlu memulai penampung hanya untuk mendapatkan file darinya? Dalam skrip, saya mencoba menjalankan /bin/bash
mode 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 .tar
file setelah menjalankan docker save $IMAGENAME
hanya 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 boot2docker
OSX 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.zip
dari gambar dengan orang lain.
create
perintahnya ditambahkan / dihapus (tidak ada di 1.01)