Docker

從docker鏡像中提取文件?

  • March 24, 2022

我想從 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"

引用自:https://unix.stackexchange.com/questions/331645