コンテナとの間でファイルをコピーする方法

  • ある種のタスクでは、ローカル マシンからコンテナにファイルをコピーしたり、逆にコンテナからローカル マシンにファイルをコピーすることが必要になるかもしれません。この記事では、そのような操作を行う方法について説明します。

  • 必要に応じて、以下に記述されているオプションのいずれかを検討してください。 

    • ファイルをローカル マシンのファイル システムからコンテナにコピーするには、以下のDockerコンテナまたはKubernetes Pod用コマンドをそれぞれ実行します。
      docker cp <src-path> <container>:<dest-path> 
      kubectl cp <src-path> <your-pod-name>:<dest-path> 
      例:
      docker cp "C:\ProcDump\procdump64.exe" sitecore-xm1_cm_1:"C:\" 

    • ファイルをコンテナからローカル マシンのファイル システムにコピーするには、以下を使用します。
      docker cp <container>:<src-path> <local-dest-path> 
      kubectl cp <your-pod-name>:<src-path> <local-dest-path> 
      例:
      docker cp sitecore-xm1_cm_1:"C:\inetpub\wwwroot\App_Data\logs" "C:\" 
    1. コンテナがプロセス分離モードで実行している場合に、実行中のコンテナとホスト ファイル システムとの間でファイルをコピーすることができます。
      ※註:これらの操作は、Hyper V分離モードではサポートされていません。Hyper V分離を使用されている場合は、ファイルをコピーする前にコンテナを停止する必要があります。
    2. これらの手法でコンテナにコピーしたファイルは、コンテナを再作成すると削除されます。恒久的にコピーしたファイルをコンテナに保管したい場合は、Dockerの公式ガイドに従って、カスタムDockerイメージをビルドしてください。
January 20, 2021
January 20, 2021