在docker映像中执行命令以启动solr exporter

在docker映像中执行命令以启动solr exporter,docker,solr,docker-compose,prometheus,Docker,Solr,Docker Compose,Prometheus,我想在solr docker映像内执行一个命令以导出度量 我试过这个: command: - solr-demo - sh ./bin/solr-exporter -p 9854 -b http://localhost:8983/solr 这是完整的docker文件 version: '3.7' volumes: solr_data: {} services: solr: image: solr:8 ports: - "8

我想在solr docker映像内执行一个命令以导出度量

我试过这个:

    command:
      - solr-demo
      - sh ./bin/solr-exporter -p 9854 -b http://localhost:8983/solr
这是完整的docker文件

version: '3.7'
volumes:
    solr_data: {}
services:
  solr:
    image: solr:8
    ports:
     - "8983:8983"
    volumes:
      - solr_data:/var/solr
    command:
      - solr-demo

我没有任何错误,但是没有执行启动导出器的命令。

普罗米修斯解决此问题的方法是将solr导出器作为单独的docker容器或侧车运行,并让它刮除solr服务器

version: '3.7'
volumes:
    solr_data: {}
services:
  solr:
    image: solr:8
    ports:
     - "8983:8983"
    volumes:
      - solr_data:/var/solr
    command:
      - solr-demo
  solr-exporter:
    image: solr:8
    ports:
     - "9854:9854"
    entrypoint:
      - "/opt/solr-8.2.0/contrib/prometheus-exporter/bin/solr-exporter"
      - "-p"
      - "9854"
      - "-b"
      - "http://solr:8983/solr"
      - "-f"
      - "/opt/solr-8.2.0/contrib/prometheus-exporter/conf/solr-exporter-config.xml"
      - "-n"
      - "8"
使用
”http://solr:8983/solr“
作为导出器的目标,它会刮取名为
solr
的容器


上面的exporter命令行是从中逐字提取的,您可能需要根据需要进行调整。

普罗米修斯解决此问题的方法是将solr exporter作为单独的docker容器或侧车运行,并让它刮除solr服务器

version: '3.7'
volumes:
    solr_data: {}
services:
  solr:
    image: solr:8
    ports:
     - "8983:8983"
    volumes:
      - solr_data:/var/solr
    command:
      - solr-demo
  solr-exporter:
    image: solr:8
    ports:
     - "9854:9854"
    entrypoint:
      - "/opt/solr-8.2.0/contrib/prometheus-exporter/bin/solr-exporter"
      - "-p"
      - "9854"
      - "-b"
      - "http://solr:8983/solr"
      - "-f"
      - "/opt/solr-8.2.0/contrib/prometheus-exporter/conf/solr-exporter-config.xml"
      - "-n"
      - "8"
使用
”http://solr:8983/solr“
作为导出器的目标,它会刮取名为
solr
的容器


上述exporter命令行是从中逐字提取的,您可能需要根据需要对其进行调整。

Docker容器运行一个命令,并且仅运行一个命令。使用您显示的语法,它是(引用添加的)
'solr-demo'-sh./bin/../solr'
-整个
sh
字符串作为单个参数传递给
solr-demo
。Docker容器运行一个命令,并且只运行一个命令。使用您显示的语法,它是(引用添加的)
'solr-demo'-sh./bin/../solr'
-整个
sh
字符串作为单个参数传递给
solr-demo