Al etiquetar un servicio en el archivo docker-compose, solo se etiqueta el contenedor creado y no el servicio en sí.
Me gustaría agregar una etiqueta a un servicio creado con un archivo docker-compose. Al agregar la etiqueta en la propiedad de etiquetas, la etiqueta solo se agrega al contenedor correspondiente y no al servicio en sí.
En la documentación del comando de creación del servicio docker hay dos opciones diferentes para las etiquetas:
Me pregunto por qué la propiedad de la etiqueta en el archivo docker-compose solo corresponde a la primera opción.
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: trueResultado real: solo el contenedor creado tiene la etiqueta "de.zalando.gridRole"
Resultado esperado: El servicio debe tener la etiqueta "de.zalando.gridRole"
De acuerdo con la referencia docker-compose, debe especificar las etiquetas de servicio de esta manera:
version: "3.7" services: web: image: web deploy: labels: com.example.description: "This label will appear on the web service"Agregue una sección de implementación y mencione sus etiquetas allí.
Al igual que con docker, aquí también estas etiquetas se tienen en cuenta cuando se implementan en un enjambre de docker. De lo contrario, se ignoran.