00:00:005つのターミナルを開き、延々とスクロールして Dockerをデバッグし続けることもできますが、
00:00:04ブラウザを1つ開くだけで、全コンテナのログを リアルタイムで確認することも可能です。
00:00:08それがこの「Dozzle」です。
00:00:10オープンソースのリアルタイムログビューアで、 コンテナのログをブラウザにライブ配信します。
00:00:13ログを実際に保存することはありません。
00:00:15そのため、サイズは約7MBと非常に軽量で、 動作も高速です。
00:00:19さっそくセットアップ方法と、 実践的な活用法を見ていきましょう。
00:00:22[音楽]
00:00:28普段、ターミナルを3つ、 あるいは5つも開いているかもしれません。
00:00:30それぞれで Docker logs を実行し、
00:00:32スクロールや検索、 タブの切り替えを繰り返しています。
00:00:35それがコンテナ作業における「代償」でした。
00:00:37Dozzleを使えば、複雑なログスタックを 構築することなく、すべてを1か所で確認できます。
00:00:41しかも、ライブで表示されます。
00:00:43Docker、Docker Swarm、Kubernetesに対応しており、
00:00:46エージェントを使えば複数ホストも管理できます。 さらにバージョン10がリリースされました。
00:00:50アラート、Webhook、クラウド対応、 重要なセキュリティ更新が追加されています。
00:00:54デバッグ中の「ライブ可視化」に特化したツールです。
00:00:57それではセットアップ方法と、
00:00:59Dockerアプリのデバッグがいかに変わるかを 解説します。
00:01:02開発ワークフローの効率化に興味がある方は、 ぜひチャンネル登録をお願いします。
00:01:06役立つ実践的なツールを常に紹介しています。
00:01:09さて、Dozzleと聞くと、 よくあるログ管理ツールに思えるかもしれません。
00:01:12データを保存する重厚な仕組みや、
00:01:15データベースが必要なものを想像しがちですが、 実はその逆です。
00:01:1960秒以内にセットアップしてみましょう。
00:01:22まず、表示されているコマンドで イメージをプルします。
00:01:26Dockerソケットをマウントし、ポートを公開して 実行するだけです。
00:01:30データベースもインデックス作成も不要で、 待たされることもありません。
00:01:33他のコンテナですでに標準ポートを使っているので、 ポート番号を変更して実行します。
00:01:39ブラウザで localhost を開くと、
00:01:42実行中のコンテナがすぐに表示されます。
00:01:44面倒な設定作業などは一切ありません。
00:01:47驚くほどスムーズに動作します。
00:01:49Docker Composeを使う場合は、イメージと ポート、Dockerソケットを指定し、
00:01:53「no analytics」フラグを渡すだけです。
00:01:56あとは docker-compose up を実行すれば完了です。
00:01:59注意点は、ソケットの権限設定と、
00:02:02最新機能を使いたいならバージョン10以降を 使うことくらいです。
00:02:07セットアップの流れは以上です。
00:02:08特に難しい点はありませんが、 UIと実用性は抜群です。
00:02:13ここから、このツールの良さが 実感できるはずです。
00:02:16Dozzleを開くと、起動中のコンテナが すっきりとしたリストで表示されます。
00:02:20余計なダッシュボードはなく、 サービスだけが並んでいます。
00:02:24検索バーに「DB」と入力し始めれば、
00:02:27正確な名前を入れなくても、すぐに データベースコンテナが見つかります。
00:02:32コンテナをクリックすると、 ログのライブ配信が始まります。
00:02:35更新ボタンを押す必要もなく、 自動で行われます。
00:02:38リクエスト失敗をシミュレートする ダミーコンテナを作りましたが、
00:02:41皆さんのアプリでも エラーを発生させてみてください。
00:02:46エラーが起きると、即座に ブラウザ上に表示されます。
00:02:48ターミナルを切り替えたり、 コマンドを再実行したりする必要はありません。
00:02:51何かが壊れた瞬間、 このインターフェース上で把握できます。
00:02:54バージョン10では、DuckDBを活用した 「SQLモード」が追加されました。
00:02:58ターミナルでモードを切り替え、 select文などのクエリを実行できます。
00:03:03ここでは基本的な例ですが、 クエリの結果が
00:03:05Dozzleにそのまま返ってきます。
00:03:07使い道は想像できるでしょう。
00:03:09目視でログを追う代わりに、 SQLでログを検索できるのです。
00:03:13また、「CPU使用率が80%を超えたら」 などの条件を定義し、
00:03:17Slackなどのエンドポイントに Webhookを飛ばすこともできます。
00:03:20これにより、監視がより インタラクティブになります。
00:03:22これが最新アップデートの 目玉機能の一つです。
00:03:24ローカル環境以外で公開する前には、
00:03:27必ず認証を有効にしてください。
00:03:29環境変数を設定し、
00:03:31ユーザー設定ファイルを用意して アクセスを保護します。
00:03:35Kubernetesの場合は、マニフェストか Helmでデプロイします。
00:03:38必要なログをマウントし、 サービス経由で公開してください。
00:03:42最後に2つほどお伝えしたいことがあります。
00:03:44このツールの役割を 明確にしておきましょう。
00:03:48Dozzleはシンプルで軽量、 ライブ配信に特化したツールです。
00:03:52ログを保存しないため高速で、 プライバシーにも配慮されています。
00:03:57しかし、それは長期的なログ保存には 向いていないことも意味します。
00:04:00用途に合わせて判断してください。
00:04:02永続的なストレージやダッシュボードが 必要なら、
00:04:04他にも優れた選択肢が たくさんあります。
00:04:07ただ、オープンソースでコンテナを ライブ分析する手段としては、
00:04:11これは非常にクールなツールです。
00:04:13ターミナルを切り替え、ログを目で追う時間は、
00:04:15問題解決そのものに使われるべき時間です。
00:04:18Dozzleはその無駄を省いてくれます。
00:04:22ログの集約、フィルタリング、SQL検索、 分割表示、
00:04:27さらにV10でのアラート機能。これらを 軽量かつシンプルなまま実現しています。
00:04:31次のDockerプロジェクトで導入して、 問題特定がいかに早くなるか試してみてください。
00:04:35参考になった方は、ぜひチャンネル登録を。 開発に役立つ情報を発信しています。
00:04:39それでは、また次の動画でお会いしましょう。