コンテナ=ホスト間のファイルコピー(docker / k8s)

実行中のdockerのコンテナ内にあるファイルをホストとの間でコピー転送するには、docker container cpを使えます。
config類のベースファイルや実行ログを取得する場合などに便利です。

コンテナ内のファイルを指定する記法は、NFSなどと同様、container_name:file_pathのようにコロンで区切って指定します。

コンテナ内のファイルをホストにコピーする場合

$ docker container cp some_container:/path/to/target_file .

ホスト上のファイルをコンテナ内の指定ディレクトリにコピーする場合

$ docker container cp target_file some_container:/path/to/target_dir/

末尾にファイル名を指定した場合にはコンテナ内のファイル名が指定のものになります。

dockerのコンテナ名はdocker container lsで確認できます。

また、kubernetesにも同様にkubectl cpコマンドがあります。(v1.5で実装)

コンテナ内のファイルをホストにコピーする場合

$ kubectl cp some_container:/path/to/target_file ./target_file

kubectl cpでは転送先のファイル名指定も必要なようです。

ホスト上のファイルをコンテナ内の指定ディレクトリにコピーする場合

$ kubectl cp target_file some_container:/path/to/target_dir/

kubernetesのコンテナ名はkubectl get podsで確認できます。