Logtailを使用してコンテナからログを収集する場合、ラベルと環境変数を使用してコンテナをフィルタリングできます。 ラベルは、docker inspect
コマンドによって返されるコンテナーメタデータに含まれます。 環境変数は、コンテナーを起動するように設定されたランタイム環境パラメーターです。 このトピックでは、コンテナのラベルと環境変数を取得する方法について説明します。
このトピックはDockerコンテナーのみを対象としています。 Kubernetesコンテナーの場合は、Kubernetes Pod LabelホワイトリストとKubernetes Pod Labelブラックリストを使用することを推奨します。
ラベルを取得する
ラベルを取得するコンテナーのホストにログインします。 Elastic Compute Service (ECS) インスタンスにログインする方法の詳細については、「ワークベンチを使用してSSH経由でLinuxインスタンスに接続する」をご参照ください。
次のコマンドを実行して、実行中のすべてのコンテナを一覧表示します。
docker ps
コマンド出力の
f ****** a
は、コンテナのIDを示します。Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f******a docker.io/library/nginx:latest nginx -g daemon o... 6 seconds ago Up 7 seconds 0.0.0.0:8080->80/tcp my-nginx
次のコマンドを実行して、コンテナのラベルを取得します。
docker inspect ${Container ID}
コマンド出力の
[ラベル]
フィールドは、コンテナのラベルを示します。
環境変数の取得
ラベルを取得するコンテナーのホストにログインします。 Elastic Compute Service (ECS) インスタンスにログインする方法の詳細については、「ワークベンチを使用してSSH経由でLinuxインスタンスに接続する」をご参照ください。
次のコマンドを実行して、実行中のすべてのコンテナを一覧表示します。
docker ps
コマンド出力の
f ****** a
は、コンテナのIDを示します。Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg. CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES f******a docker.io/library/nginx:latest nginx -g daemon o... 6 seconds ago Up 7 seconds 0.0.0.0:8080->80/tcp my-nginx
次のコマンドを実行して、コンテナの環境変数を取得します。
docker exec ${Container ID} env