私のコンピュータでDockerコンテナが実行されています。
停電によりコンピュータがクラッシュします。ディスクは正常に起動します。今何とかコンテナに入り、そこからデータを「救出」したいと思います。コンテナIDを知っています。
違いはわかりますが、/var/lib/docker/aufs/diff
可能であれば、競合中にファイルシステム全体が必要です。
今/var/lib/docker/aufs/mnt
何も見えません。
を使用して別のドッカーを実行しようとすると、--with-volumes (ID)
何も表示されません。
競合が発生している間に実際のデータを取得するにはどうすればよいですか?
答え1
これが「正しい方法」であるかどうかはわかりませんが、役に立ちました。
docker commit (ID of the crashed container)
これにより、競合が発生したコンテナで新しいイメージが作成され、対応するIDが提供されます。これで新しいイメージを実行できます。
docker run -ti (ID of the new image)
これで安全にデータを救出できます。
答え2
Googleで簡単に検索できるようにここに投稿します。もともと公開ここ。
機能しないコンテナからコピーする最も簡単な方法はdocker cpです。
docker cp <container-name>:<path/inside/container> <path/on/host/>
ありがとうドッカーCP(協会)ファイルシステムの別の部分であるかのように、コンテナから直接コピーできます。たとえば、コンテナ内のすべてのファイルを復元するには、次の手順を実行します。
mkdir /tmp/container_temp
docker cp example_container:/ /tmp/container_temp/
再帰的にコピーするように指定する必要はありません。