コピーしておくと便利なコマンド OpenShift編 Podにファイルを転送する

コピーしておくと便利なコマンド第三弾です。今回はOpenShift編ということで、Podにファイルを転送するコマンドをご紹介したいと思います。

ちょっとした時に、ローカルにあるファイルをコンテナに転送したいと思うことよくありませんか?例えば問題判別の時に定義ファイルを置き換えたいとき。永続ボリューム領域のファイルを書き換えようにも権限がなかったとき。再ビルドしようにも権限を付けてもらうにしても、結構面倒くさいです。

そんなときはコンテナにファイルを転送するコマンドを使って、ファイルを転送するのがオススメです。

Podの確認
$ oc get pods php-apache-1-zxxqd
NAME                 READY     STATUS    RESTARTS   AGE
php-apache-1-zxxqd   1/1       Running   1          11d

Pod内のファイル確認
$ oc exec -it  php-apache-1-zxxqd -- cat /test
cat: /test: No such file or directory
command terminated with exit code 1

ファイル作成
$ echo "Hello World" > test

ファイルの転送
$ oc cp test php-apache-1-zxxqd:/test

Pod内のファイル確認
$ oc exec -it  php-apache-1-zxxqd -- cat /test
Hello World
$

 

本来コンテナはImmutableな性質なので、このような操作はよくありませんが、ちょっとした問題判別や検証に使えるコマンドとして紹介しました。

以上です!皆さんも是非使ってみてください!