はじめに
lazydockerは、DockerとDocker ComposeのためのシンプルなターミナルUI(TUI)である。lazygitと同じ作者によって開発されており、Go言語で書かれている。
docker psやdocker-compose psなどのコマンドを何度も実行してコンテナやイメージの状態を確認するのは面倒であることを常々感じていたのだが、lazydockerを使うことでこれらの操作が楽になりそうだと考え、導入してみた。
というわけで、今回はlazydockerのインストール方法と基本的な使い方についてまとめておく。
環境
Windows 11 Pro
WSL2 Ubuntu 24.04 LTS
lazydocker 0.24.1
Docker version 27.4.1, build b9d17ea
Docker Compose version v2.24.5動作要件
動作要件は以下となる。
Docker >= **1.13** (API >= **1.25**)
Docker-Compose >= **1.23.2** (オプション)インストール
Ubuntu環境では以下の方法でインストールする。
curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bashログ
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 884 100 884 0 0 4110 0 --:--:-- --:--:-- --:--:-- 4111
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
100 4804k 100 4804k 0 0 13.8M 0 --:--:-- --:--:-- --:--:-- 13.8M
lazydockerスクリプトはデフォルトで $HOME/.local/bin にバイナリをインストールするが、DIR 環境変数で変更可能である。
※ 他のOSやパッケージマネージャーでのインストール方法はlazydocker#Installationを参照。
nixを使用
一時的な環境で試したい場合は以下
nix-shell -p lazydocker恒久的にインストールする場合は以下
nix-env -i lazydocker使い方
起動
以下のコマンドを実行するだけである。
lazydocker
頻繁に使用する場合は、エイリアスを設定すると便利である。
echo "alias lzd='lazydocker'" >> ~/.zshrcDockerデーモンが起動していない場合は、エラーが表示されるので事前に起動しておく必要がある。
基本操作
画面はいくつかのパネルに分かれており、← → キーや h l キーでパネル間を移動できる。
また、マウスによる操作もサポートされている。
主なパネル構成は以下の通りである。
- [1] Project (プロジェクト情報)
- [2] Containers (コンテナ一覧)
- [3] Services (Docker Composeサービス一覧)
- [4] Images (イメージ一覧)
- [5] Volumes (ボリューム一覧)
- [6] Networks (ネットワーク一覧)
よく使うキー操作の例は以下
グローバルキー
| キー | 操作 |
|---|---|
[ | 前のタブへ移動 |
] | 次のタブへ移動 |
1-6 | 各パネルへ直接移動(1:Project, 2:Services, 3:Containers, etc.) |
+ / - | 画面モードの切り替え(通常/半分/フルスクリーン) |
? | ヘルプ表示 |
q | lazydockerの終了 |
コンテナ操作
| キー | 操作 |
|---|---|
d | 削除 |
s | 停止 |
r | 再起動 |
p | 一時停止 |
a | アタッチ |
m | ログを表示 |
E | シェルを実行(exec) |
e | 停止中のコンテナを表示/非表示 |
w | ブラウザで開く(最初のポートがhttpの場合) |
/ | リストをフィルタ |
サービス操作(Docker Compose):
| キー | 操作 |
|---|---|
u | サービスを起動 |
d | コンテナを削除 |
s | 停止 |
r | 再起動 |
U | プロジェクトを起動(docker compose up) |
D | プロジェクトを停止(docker compose down) |
R | 再起動オプションを表示 |
イメージ/ボリューム操作:
| キー | 操作 |
|---|---|
d | 削除 |
c | カスタムコマンドを実行 |
b | 一括操作コマンドを表示 |
画面下部に操作ガイドが表示されるため、キーバインドを全て暗記していなくても使い始めることができる。
機能について
リソース使用状況の可視化
コンテナのCPUやメモリ使用状況がASCIIグラフでリアルタイムに表示される。
これにより、リソースを多く消費しているコンテナを一目で特定できる。
また、グラフは設定でカスタマイズ可能で、ほぼすべてのメトリックを測定できる。
ログの表示
複数のコンテナやサービスのログを統合して確認でき、特定のコンテナにフォーカスすることも可能である。
デフォルトでは過去1時間のログのみを表示するため、マシンへの負荷を抑えている。
これは設定の commandTemplates で上書き可能である。
Docker Composeのサポート
Docker Composeで管理されているサービスもグループ化して表示され、プロジェクト単位でまとめて操作することができる。docker-compose upやdocker-compose downなどの操作がワンキーで実行可能である。
イメージレイヤーの確認
選択したイメージの祖先レイヤーを確認できる。
これにより、イメージの構成を理解しやすくなる。
不要なリソースの削除
使用されていないコンテナ、イメージ、ボリュームを簡単に確認し、一括削除することができる。
これにより、ディスク容量の管理が容易になる。
カスタムコマンド
設定ファイルでカスタムコマンドを定義することができる。
例えば、特定のコンテナでbashを起動するコマンドなどを登録しておくと、頻繁に使うコマンドを素早く実行できる。
設定
設定ファイルの編集
lazydockerを起動後、左上のProjectパネルで以下のキーを押す
o: 設定ファイルを開くe: 設定ファイルを編集(エディタがvimの場合)
設定ファイルの詳細についてはConfig Docsを参照。
テキストの折り返し
メインパネルでテキストを折り返したい場合は、設定でgui.wrapMainPanel: trueを設定する。
参考
jesseduffield / lazydocker
https://github.com/jesseduffield/lazydockerLazydocker Keybindings
https://github.com/jesseduffield/lazydocker/blob/master/docs/keybindingsLazydocker Config Documentation
https://github.com/jesseduffield/lazydocker/blob/master/docs/Config.md
おわりに
lazydockerを使うことで、Docker操作がTUIで快適に行えるようになる。
特に、複数のコンテナやイメージを管理する際に、視覚的に確認しながら操作できる点が便利そうである。docker psやdocker imagesを何度も実行する必要がなくなり、作業効率が大幅に向上する。
また、リソース使用状況のリアルタイム可視化、ログの表示、Docker Composeのサポートなど、運用時に便利な機能が揃っている。
カスタムコマンドを定義することで、自分のワークフローに合わせた操作も可能となっているようだ。
lazygitと同様に、画面下部にキーバインドガイドが表示されるため、初めて使う場合でもすぐに操作を始められる。TUI操作が最近自分の中でアツいので、このあたりのTUIツールは積極的に試していきたいと思う。