dockerを学んでいるときに、dockerコンテナのファイルをローカルホストにコピーして中身を確認したいとき、ありませんか。
どうしてもLinuxコマンドでディレクトリ移動しているだけだと確認しづらい状況があると思います。
【ポイント】Dockerコンテナを全て、ローカルホスト環境へコピー
・docker コンテナをホストへコピーする方法を知る
・ローカルの権限が必要とされる場合がある(powershell編)
docker コンテナをホストへコピーする方法
docker cp コマンドでコンテナからホストへコピーすることが出来ます。
使い方は、
docker cp <コンテナID>:/<コンテナのディレクトリ> /<コピー後のディレクトリ名>
例えば、
docker cp d8c238b5de69:/ /dockercopy
みたいな感じです。
全ディレクトリをコピーしたいので、「/」で、ディレクトリ宣言しています。
ローカルの権限が必要とされる場合がある(powershell編)
これで実行完了できるかな?と思ったのですが、思わぬエラーが出ました。
A required privilege is not held by the client.
クライアント側に権限がないということです。
これが、あらゆる環境に対して発生するエラーなのかは、わかりません。
OS:Windows
ターミナル:powershell
の環境にて、発生しました。
色々と調べていたところ、こちらの方の記事を見たところ、powershellを管理者権限で実行したらOKと出ていました。
ということで、powershellを管理者権限にして実行したら正しくコピーされていました。
ディレクトリーがコピーされる場所
windowsのC: 配下にコピーされています。
どこだろう?と少し探したので、こちらも記録しておきます。