イメージを実行せずにDockerイメージからファイルを抽出したいのですが。
docker save
オプションは、特定のファイルのtarを解除するためだけに大量のファイルを保存するため、現在実行可能なオプションではありません。
承認された回答:
次のコマンドを使用して、画像からファイルを抽出できます。
docker create $image # returns container ID
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