検索

3.6. コンテナー内のアプリケーションのデバッグ

download PDF

トラブルシューティングのさまざまな側面に合わせてカスタマイズされたさまざまなコマンドラインツールを使用できます。以下に、一般的なコマンドラインツールとともにカテゴリーを示します。

注記

これはコマンドラインツールの完全なリストではありません。コンテナーアプリケーションをデバッグするためのツールの選択は、コンテナーイメージとユースケースに大きく依存します。

たとえば、systemctljournalctlipnetstatpingtracerouteperfiostat ツールは、ネットワーク、systemd サービス、ハードウェアパフォーマンスカウンターなどのシステムレベルのリソースと対話するため、ルートアクセスが必要になる場合があります。これらのリソースは、セキュリティー上の理由から、ルートレスコンテナーでは制限されています。

ルートレスコンテナーは昇格された権限を必要とせずに動作し、ユーザー名前空間内で非ルートユーザーとして実行されるため、セキュリティーが向上し、ホストシステムから分離されます。ホストとのやり取りが制限され、攻撃対象領域が縮小され、権限昇格の脆弱性のリスクが軽減されるため、セキュリティーが強化されます。

ルートフルコンテナーは、通常はルートユーザーとして昇格された権限で実行され、システムリソースと機能への完全なアクセス権が付与されます。ルートフルコンテナーは柔軟性と制御性に優れていますが、権限昇格の可能性があり、ホストシステムが脆弱性にさらされる可能性があるため、セキュリティーリスクが生じます。

ルートフルコンテナーとルートレスコンテナーの詳細は、ルートレスコンテナーの設定ルートレスコンテナーへのアップグレード、および ルートレスコンテナーに関する特別な考慮事項 を参照してください。

Systemd とプロセス管理ツール

systemctl
コンテナー内の systemd サービスを制御し、開始、停止、有効化、無効化の操作を可能にします。
journalctl
systemd サービスによって生成されたログを表示し、コンテナーの問題のトラブルシューティングに役立ちます。

ネットワークツール

ip
コンテナー内のネットワークインターフェイス、ルーティング、およびアドレスを管理します。
netstat
ネットワーク接続、ルーティングテーブル、およびインターフェイス統計を表示します。
ping
コンテナーまたはホスト間のネットワーク接続を検証します。
traceroute
パケットが宛先に到達するまでのパスを識別します。ネットワークの問題の診断に役立ちます。

プロセスとパフォーマンスツール

ps
コンテナー内で現在実行中のプロセスをリスト表示します。
top
コンテナー内のプロセスによるリソース使用状況に関するリアルタイムの分析情報を提供します。
htop
リソース使用率を監視するためのインタラクティブなプロセスビューアー。
perf
CPU パフォーマンスのプロファイリング、トレース、およびモニタリングにより、システムまたはアプリケーション内のパフォーマンスのボトルネックを正確に特定できます。
vmstat
コンテナー内の仮想メモリーの統計を報告し、パフォーマンス分析に役立ちます。
iostat
コンテナー内のブロックデバイスの入出力統計を監視します。
gdb (GNU デバッガー)
ユーザーが実行を追跡および制御し、変数を検査し、実行時にメモリーとレジスターを分析できるようにすることで、プログラムの調査とデバッグを支援するコマンドラインデバッガー。詳細は、Red Hat OpenShift コンテナー内のアプリケーションのデバッグの を参照してください。
strace
プログラムによって行われたシステムコールを傍受して記録し、プログラムとオペレーティングシステム間のやり取りを明らかにすることでトラブルシューティングに役立ちます。

セキュリティーとアクセス制御ツール

sudo
昇格された権限でコマンドを実行できるようにします。
chroot
コマンドのルートディレクトリーを変更します。異なるルートディレクトリー内でのテストやトラブルシューティングに役立ちます。

Podman 固有のツール

podman logs
実行時に 1 つ以上のコンテナーに存在するログをバッチで取得します。
podman inspect
名前または ID で識別されるコンテナーとイメージの低レベル情報を表示します。
podman events
Podman で発生するイベントを監視して出力します。各イベントには、タイムスタンプ、タイプ、ステータス、名前 (該当する場合)、およびイメージ (該当する場合) が含まれます。デフォルトのロギングメカニズムは journald です。
podman run --health-cmd
ヘルスチェックを使用して、コンテナー内で実行されているプロセスの状態または準備ができているかどうかを判断できます。
podman top
コンテナーの実行中のプロセスを表示します。
podman exec
実行中のコンテナー内でコマンドを実行したり、実行中のコンテナーにアタッチしたりすることは、コンテナー内で何が起こっているかをよりよく理解するのに非常に役立ちます。
podman export
コンテナーに障害が発生すると、何が起こったのかを知ることは基本的に不可能です。コンテナーからファイルシステム構造をエクスポートすると、マウントされたボリュームに存在しない可能性のある他のログファイルを確認できるようになります。

関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.