Docker
從docker鏡像中提取文件?
我想從 Docker 映像中提取文件,而無需執行映像。
該
docker save
選項目前對我來說不是一個可行的選項,因為它保存了太大的文件,只是為了解壓縮特定文件。
您可以使用以下命令從圖像中提取文件:
container_id=$(docker create "$image") docker cp "$container_id:$source_path" "$destination_path" docker rm "$container_id"
根據
docker create
文件,這不會執行容器:該
docker create
命令在指定的鏡像上創建一個可寫的容器層,並準備好執行指定的命令。然後將容器 ID 列印到STDOUT
. 這類似於docker run -d
容器從不啟動。然後,您可以使用該docker start <container_id>
命令在任何時候啟動容器。作為參考(我之前的回答),從圖像中提取文件的效率較低的方法如下:
docker run some_image cat "$file_path" > "$output_path"