当您使用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