実行中のコンテナ内にあるファイルをホストとの間でコピー転送するには、kubectl|docker container cpを使えます。
config類のベースファイルや実行ログを取得する場合などに便利です。
## コンテナのファイルコピー
kubernetes, dockerに`cp`サブコマンドがある
* `kubectl cp [options] origin dest`
* `docker container cp [options] origin dest`
---
## ファイルpath
NFS同様 `[host:]/path/to/file`
* ローカルは、`host:`のprefixなし
* リモートpathにはタブ補完が効かない
* kubernetesの`host`にはpod名を指定
* `kubectl get pods`で検索
---
## kubectl用共通オプション
以下のオプションは他のサブコマンドと同じ用法
* `-c container_name` マルチコンテナpodの際のコンテナ名
* `-n namespace` ネームスペース指定
k8sコンテナ内のファイルをホストにコピー
$ kubectl cp some_container:/path/to/target_file ./target_file
kubectl cpでは転送先のファイル名指定も必要なようです。
ホスト上のファイルをk8sコンテナ内の指定ディレクトリにコピー
$ kubectl cp target_file some_container:/path/to/target_dir/
kubernetesのコンテナ名はkubectl get podsで確認できます。
dockerコンテナ内のファイルをホストにコピー
$ docker container cp some_container:/path/to/target_file .
ホスト上のファイルをdockerコンテナ内の指定ディレクトリにコピー
$ docker container cp target_file some_container:/path/to/target_dir/
末尾にファイル名を指定した場合にはコンテナ内のファイル名が指定のものになります。
dockerのコンテナ名はdocker container lsで確認できます。
⁋ 2017/04/18↻ 2023/10/09
dockerやk8sのコンテナ運用をしていると、諸般の事情でイメージ更新後にコンテナが起動しないケースに遭遇します。
原因を追求しようにも、コンテナが死んでしまうので追跡できない……という状況で、コマ …
buildahは、kubernetesなどのコンテナイメージをビルドするツールで、Dockerとは独立した実装です。
Debian系ディストリビューションには同名のパッケージがあり、apt …
Tekton Pipelines はkubernetesクラスタ上で動作するCI/CDツールです。
ダッシュボードやCLIを用いて操作する方法が一般的ですが、TektonのCRDの1つ …
bashはログイン時に~/.bashrcなどのスタートアップスクリプトを実行します。 tekton も$BASH_ENVを用いてステップ実行時にスタートアップスクリプトを実行できます。 …
fluentbit はコンパクトなログ加工・配信エージェントです。入力・出力のプラグインを切り替えることで多様な構成に対応できます。
k8sノードからコンテナログ収集する構成 fluentbitは多 …