Chtěl bych extrahovat soubor z obrázku Docker, aniž bych musel obrázek spouštět.
docker save
Tato možnost pro mě momentálně není schůdná, protože ukládá příliš velký soubor, aby bylo možné rozbalit konkrétní soubor.
Přijatá odpověď:
Soubory z obrázku můžete extrahovat pomocí následujících příkazů:
docker create $image # returns container ID
docker cp $container_id:$source_path $destination_path
docker rm $container_id
Podle docker create
dokumentaci, toto nespustí kontejner:
docker create
vytvoří nad zadaným obrázkem vrstvu kontejneru s možností zápisu a připraví ji na spuštění zadaného příkazu. ID kontejneru se poté vytiskne naSTDOUT
. Je to podobné jakodocker run -d
kromě toho, že kontejner není nikdy spuštěn. Poté můžete použítdocker start <container_id>
příkaz ke spuštění kontejneru v libovolném bodě.
Pro informaci (moje předchozí odpověď), méně účinný způsob extrahování souboru z obrázku je následující:
docker run some_image cat $file_path > $output_path