Compose: Formato de interpolação inválido para a opção "command" no serviço "node-exporter": "^ / (sys | proc | dev | host | etc) ($ | /)"

Criado em 15 fev. 2017  ·  4Comentários  ·  Fonte: docker/compose

Quero gerenciar meus serviços Swarm usando o formato Docker Compose YAML
comando docker:
docker service create --name node-exporter \ --mode global \ --network proxy \ --mount "type=bind,source=/proc,target=/host/proc" \ --mount "type=bind,source=/sys,target=/host/sys" \ --mount "type=bind,source=/,target=/rootfs" \ --mount "type=bind,source=/etc/hostname,target=/etc/host_hostname" \ -e HOST_HOSTNAME=/etc/host_hostname \ basi/node-exporter:v0.1.1 \ -collector.procfs /host/proc \ -collector.sysfs /host/proc \ -collector.filesystem.ignored-mount-points "^/(sys|proc|dev|host|etc)($|/)" \ -collector.textfile.directory /etc/node-exporter/ \ -collectors.enabled="conntrack,diskstats,entropy,filefd,filesystem,loadavg,m\ dadm,meminfo,netdev,netstat,stat,textfile,time,vmstat,ipvs"
compose.yml:
version: "3" services: node-exporter: image: basi/node-exporter:v0.1.1 networks: - mm volumes: - /proc:/host/proc - /sys:/host/sys - /:/rootfs - /etc/hostname:/etc/host_hostname environment: - HOST_HOSTNAME=/etc/host_hostname command: [ -collector.procfs,/host/proc,-collector.sysfs=/host/proc,-collector.filesystem.ignored-mount-points,"^/(sys|proc|dev|host|etc)($|/)",-collector.textfile.directory,/etc/node-exporter/,-collectors.enabled="conntrack,diskstats,entropy,filefd,filesystem,loadavg,mdadm,meminfo,netdev,netstat,stat,textfile,time,vmstat,ipvs"] deploy: mode: global

Mas ocorreu um erro: Invalid interpolation format for "command" option in service "node-exporter": "^/(sys|proc|dev|host|etc)($|/)"
Parece que o símbolo $ causou. Qual formato devo escrever?

kinquestion

Comentários muito úteis

Você pode escapar do símbolo $ com outro $ . Veja a documentação de substituição de variável para mais informações.

Todos 4 comentários

Você pode escapar do símbolo $ com outro $ . Veja a documentação de substituição de variável para mais informações.

obrigado!

Gastei mais de uma hora para encontrar essa resposta. Obrigado.

Você pode usar um $$ (cifrão duplo) quando sua configuração precisar de um cifrão literal. Isso também evita que o Compose interpole um valor, então a $$ permite que você se refira a variáveis ​​de ambiente que você não deseja que sejam processadas pelo Compose.

web:
  build: .
  command: "$$VAR_NOT_INTERPOLATED_BY_COMPOSE"
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

squeaky-pl picture squeaky-pl  ·  3Comentários

bergtwvd picture bergtwvd  ·  3Comentários

foxx picture foxx  ·  3Comentários

saulshanabrook picture saulshanabrook  ·  3Comentários

leiblix picture leiblix  ·  3Comentários