Saya ingin mengekstrak file dari image Docker tanpa harus menjalankan image tersebut.
docker save
option saat ini bukan pilihan yang layak bagi saya karena menyimpan file yang terlalu besar hanya untuk menghapus tar file tertentu.
Jawaban yang Diterima:
Anda dapat mengekstrak file dari gambar dengan perintah berikut:
docker create $image # returns container ID
docker cp $container_id:$source_path $destination_path
docker rm $container_id
Menurut docker create
dokumentasi, ini tidak menjalankan wadah:
docker create
perintah membuat lapisan wadah yang dapat ditulisi di atas gambar yang ditentukan dan mempersiapkannya untuk menjalankan perintah yang ditentukan. ID wadah kemudian dicetak keSTDOUT
. Ini mirip dengandocker run -d
kecuali wadah tidak pernah dimulai. Anda kemudian dapat menggunakandocker start <container_id>
perintah untuk memulai container kapan saja.
Untuk referensi (jawaban saya sebelumnya), cara mengekstrak file dari gambar yang kurang efisien adalah sebagai berikut:
docker run some_image cat $file_path > $output_path