首页 > 解决方案 > 在 docker-compose.yml 文件中为卷添加标签或名称

问题描述

我需要通过标签或名称轻松查找卷,而不是通过分配给 docker 的 id,例如:

docker volume ls --filter label=key=value

但是如果我尝试在 docker-compose.yaml 中添加一个“container_name”或“labels”,当我检查它时,我看不到任何分配给卷的名称标签,这是一个输出:

>>> docker volume inspect <volume_id>
[
    {
        "CreatedAt": "2020-10-28T11:41:51+01:00",
        "Driver": "local",
        "Labels": null,
        "Mountpoint": "/var/lib/docker/volumes/4dce13df34f4630b34fbf1f853f7b59dbee2e3150a5122fa38d02024c155ec7d/_data",
        "Name": "4dce13df34f4630b34fbf1f853f7b59dbee2e3150a5122fa38d02024c155ec7d",
        "Options": null,
        "Scope": "local"
    }
]


我相信我可以按标签和名称过滤卷。

这是 mongo 服务的 docker-compose.yml 配置文件的一部分:

version: '3.4'

services:
  mongodb:
    container_name: some_name
    image: mongo
    labels:
      com.docker.compose.project: app-name  
    restart: always
    ports:
      - 27017:27017
    volumes:
      - ./mongo:/data/db

标签: dockerdocker-compose

解决方案


我不确定您在这里要达到什么目标,但我希望我的回复中的某些内容会有所帮助。

您可以在您的docker-compose.yml

version: '3.4'

services:
  mongodb:
    container_name: some_name
    image: mongo
    labels:
      com.docker.compose.project: app-name  
    restart: always
    ports:
      - 27017:27017
    volumes:
      - mongo_db:/data/db

volumes:
  mongo_db:

然后,您可以使用该docker volume inspect命令查看有关此卷的一些详细信息。

docker volume inspect mongo_db

推荐阅读