當您使用Logtail採集容器日誌時,可以通過Label和環境變數對待採集的容器進行過濾。Label指運行docker inspect
命令時顯示的容器中繼資料中的標籤資訊,環境變數是在容器啟動時設定的運行時環境參數。本文介紹如何擷取容器的Label和環境變數。
重要
本文僅適合擷取Docker容器的Label和環境變數,採集K8s日誌容器過濾推薦使用K8s Pod標籤白名單和K8s Pod標籤黑名單。
擷取容器Label
登入容器所在的宿主機。ECS執行個體的登入步驟,請參見使用Workbench工具以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
執行如下命令,擷取容器Label。
docker inspect ${容器ID}
返回結果中的
Labels
欄位表示容器標籤。
擷取容器環境變數
登入容器所在的宿主機。ECS執行個體的登入步驟,請參見使用Workbench工具以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 ${容器ID} env