docker exec に -t オプションをつけて起動しても、コンテナ内で less を実行すると WARNING: terminal is not fully functional という警告が出て困っていました。
less の動作自体は大丈夫なのですが、警告の後returnキーを押す必要があって、その手間が面倒です。
以下のように env コマンドで TERM 環境変数を指定すれば回避できました。
docker exec -it コンテナ名 env TERM=xterm bash
あるいは、dockerイメージを自分でビルドする場合は、Dockerfileに
ENV TERM xterm
と書いておきます。すると docker exec は単に
docker exec -it コンテナ名 bash
でOKです。