
类型:虚拟化技术
简介:基于操作系统层级的虚拟化技术,将软件与其依赖项打包为容器。
容器数量少时,靠名称还能管理;容器一多,只看名称就不够了。Docker labels 可以给镜像、容器或服务添加元数据,用来标记项目、环境、负责人、用途和版本。后续排查、统计、清理和自动化脚本都可以按标签筛选。
一、labels 适合记录什么
常见标签:
项目: project=shop
环境: env=prod
负责人: owner=ops
服务: service=api
版本: version=20260715
是否可清理: cleanup=true
标签不应记录密码、密钥或敏感信息,只用于管理元数据。
二、Compose 中添加 labels
示例:
services:
api:
image: example-api
labels:
project: shop
env: prod
service: api
owner: ops
这样容器创建后会带上这些标签。
三、按标签筛选容器
常用命令:
docker ps --filter "label=env=prod"
docker ps --filter "label=project=shop"
查看标签:
docker inspect container_name
自动化脚本可以按标签处理容器,而不是写死容器名称。
四、标签命名要统一
不要一会儿写 env=prod,一会儿写 environment=production。团队应统一命名。
建议:
project
service
env
owner
version
cleanup
命名越统一,筛选越方便。
五、自动化使用场景
labels 可以用于:
- 按环境查看容器。
- 按项目统计服务。
- 按负责人定位问题。
- 按清理标记删除临时容器。
- 配合监控和日志系统分类。
- 配合反向代理或自动化工具识别服务。
FAQ
问:Docker labels 会影响容器运行吗?
不会。labels 主要是元数据,用于管理和筛选。
问:labels 能存密钥吗?
不建议。标签可能被查看,不应保存敏感信息。
问:容器名称和 labels 有什么区别?
名称用于识别单个容器,labels 更适合分类、筛选和自动化管理。

