在docker-compose文件中标记服务时,只会标记创建的容器,而不会标记服务本身。
我想为使用docker-compose文件创建的服务添加标签。在标签属性下添加标签时,标签只会添加到相应的容器中,而不会添加到服务本身。
在docker service create命令的文档中,标签有两个不同的选项:
我想知道为什么docker-compose文件中的label属性仅对应第一个选项。
version: "3.7"
services:
zalenium:
image: zalenium:latest
hostname: zalenium
deploy:
placement:
constraints:
- node.role == manager
labels:
- "de.zalando.gridRole=hub"
ports:
- "4444:4444"
networks:
- zalenium
environment:
- PULL_SELENIUM_IMAGE=true
- ZALENIUM_PROXY_CLEANUP_TIMEOUT=1800
command: ["start", "--swarmOverlayNetwork", "tau_zalenium", "--videoRecordingEnabled", "false"]
networks:
zalenium:
driver: overlay
attachable: true
实际结果: 仅创建的容器具有标签“ de.zalando.gridRole”
预期结果: 该服务应带有标签“ de.zalando.gridRole”
答案 0 :(得分:1)
根据docker-compose参考,您需要指定服务标签,如下所示:
version: "3.7"
services:
web:
image: web
deploy:
labels:
com.example.description: "This label will appear on the web service"
添加一个部署部分,并在其中提及您的标签。
与docker一样,在docker swarm上进行部署时也会考虑这些标签。否则,它们将被忽略。