أرغب في إدارة خدمات Swarm الخاصة بي باستخدام تنسيق Docker Compose YAML
أمر عامل ميناء:
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
ولكن حدث خطأ: Invalid interpolation format for "command" option in service "node-exporter": "^/(sys|proc|dev|host|etc)($|/)"
يبدو أن سبب الرمز $
. ما الشكل الذي يجب علي كتابته؟
يمكنك الهروب من الرمز $
مع $
. راجع مستندات الاستبدال المتغير لمزيد من المعلومات.
شكر!
قضيت أكثر من ساعة للعثور على هذه الإجابة. شكرا لك.
يمكنك استخدام $$ (علامة الدولار المزدوج) عندما يحتاج التكوين الخاص بك إلى علامة الدولار الحرفية. يؤدي هذا أيضًا إلى منع "الإنشاء" من استيفاء القيمة ، لذلك يسمح لك $$ بالإشارة إلى متغيرات البيئة التي لا تريد معالجتها بواسطة Compose.
web:
build: .
command: "$$VAR_NOT_INTERPOLATED_BY_COMPOSE"
التعليق الأكثر فائدة
يمكنك الهروب من الرمز
$
مع$
. راجع مستندات الاستبدال المتغير لمزيد من المعلومات.