レビュー

Dockerの難解なコマンドをサポートしてくれるCUIツール「lazydocker」


アプリケーションの開発環境を用意したりデプロイ・スケーリング・管理を効率的に行ったりするうえでDockerは非常に強力なツールですが、高機能であるが故のコマンドの難解さに泣かされるユーザーも多いはず。そんな要望に応えてか、Gitを強力にサポートするCUIツール「lazygit」の作者が、Dockerについても同様のCUIツール「lazydocker」を作成しています。

GitHub - jesseduffield/lazydocker: The lazier way to manage everything docker
https://github.com/jesseduffield/lazydocker

◆導入
lazydockerの動作要件は以下の通りです。

・【必須】Docker:バージョン29.0.0以上
・【オプション】Docker-Compose:バージョン1.23.2

Dockerのバージョンが最新版に近いことから、既存環境との兼ね合いやパッケージ管理ツールの非対応などの理由により環境を用意できない可能性もありますが、Dockerを利用して環境の整ったコンテナを起動し実行することも可能です。

docker run --rm -it -v \
/var/run/docker.sock:/var/run/docker.sock \
-v 【lazydockerの設定を保存するホスト側パス】:/.config/jesseduffield/lazydocker \
lazyteam/lazydocker

なお、【lazydockerの設定を保存するホスト側パス】については実際の環境に合わせて書き換える必要があります。

◆プロセス
画面左側上部にはプロセスの一覧が表示されています。記事作成時点の実装では複数コンテナで構成されるサービスについてはあまり考慮されていないようですが、将来的には複数コンテナにも対応していく予定だとのこと。


プロセス名の右側には各プロセスのCPU使用率が表示されています。


CPU使用率が急上昇すると赤く表示されます。


mキーを押すと、プロセスに対して使用できるコマンドをメニュー表示します。


◆統計情報
CPU使用率やメモリ使用率の変動は統計情報で確認することができます。


統計情報はデフォルトでは「CPU使用率」と「メモリ使用率」が表示されていますが、追加することもできます。まずmキーを押してメニューを表示し、oキーを押すかメニューから「open config container」を選択します。


YAML形式の設定ファイルが表示されるので、「stats」の下の「graphs」を確認すると、「CPU (%)」と「Memory (%)」のグラフが定義されているのがわかります。


グラフの定義を追加します。以下の例では「Bytes received(受信データのバイト数)」のグラフを追加で定義しています。


設定を反映するとグラフが追加されています。


◆コンテナ・イメージ・ボリューム
画面左側の上から2番目は選択中のサービスに属するコンテナの一覧が表示されます。単一コンテナで構成されるサービスであればキャプションは「Standalone Containers」となっています。


画面左側の上から3番目はDockerが管理しているイメージの一覧が表示されます。


イメージを選択すると、画面右側にイメージの構成が表示されます。


mキーを押すと、イメージに対して使用できるコマンドをメニュー表示します。


削除コマンドの場合、サブメニューが表示され、「単純にイメージを削除」と「中間ステップのイメージを残して指定したイメージのみ削除」を選択できます。


画面左側の一番下はボリュームの一覧が表示されます。


mキーを押すと、ボリュームに対して使用できるコマンドをメニュー表示します。


◆複数コンテナ
Docker Composeを用いた複数コンテナで構成されるサービスについてもある程度対応しています。Docker Composeを用いずに複数コンテナを実行する場合も同様に対応していますが、サービスの概念は無視され、単に「4つのコンテナが動いてるからそれを表示する」という状態になります。


複数コンテナの一つを選択することで、特定のコンテナのログについて内容を確認することもできます。


一通りの機能を確認した印象からはまだまだ実装途中の感がありますが、記事作成時点でも十分高機能であり将来性も期待できるので、興味のある方は是非チェックしてみてください。

この記事のタイトルとURLをコピーする

・関連記事
GitをCUIで強力にサポートする超高機能ツール「lazygit」 - GIGAZINE

Apple公式のmacOS上でLinuxコンテナを実行するためのオープンソースSwiftパッケージ「Containerization」 - GIGAZINE

DockerでmacOSを実行できる「Lumier」 - GIGAZINE

GIGAZINEの新着記事をDiscordサーバーに即時通知できる「GIGAZINE BOT」のサーバー登録数制限がようやく解除されて誰でも使用可能になったので開発の流れとサポートとの地獄のやり取りを振り返ってみた - GIGAZINE

無料で大量のデータを自動で見やすいグラフなどで可視化し定期的に更新反映されるダッシュボードをオープンソースでセルフホスト可能なアプリ「Metabase」を使ってみた - GIGAZINE

in ソフトウェア,   レビュー, Posted by log1c_sh

You can read the machine translated English article 'lazydocker' is a CUI tool that supports….