dockerのコンテナで特定のコマンドが実行できない時

目次

概要

dockerのコンテナ上で、リソースの状況を見たいと思い、topコマンドを実行したら次のようなメッセージが表示されてtopコマンドが使えませんでした。

TERM environment variable not set.

この解決方法がわかったので紹介します。

原因

メッセージの内容から、TERMという環境変数に値が設定されていないということが分かります。

TERMという環境変数は、調べてみると利用している端末の種類を指定するもののようです。

なぜTERM変数があるのかというと、一部の文字が端末によって意味が変わるため、あらかじめTERM環境変数で利用している端末の種類を指定して、それらの意味が正しく理解されるようにするためのようです。

なので、TERM環境変数を指定すれば、この問題は解決します。

解決方法

では、TERM環境変数に値を設定しましょう。

export TERM=xterm

ほとんどの環境では、xtermを指定すれば良いと思います。

さいごに

これで、topコマンドが使えるようになりました。