Docker + Windows + Prometheus:如何/在哪里提供配置文件

时间:2018-11-22 20:41:29

标签: windows docker yaml config prometheus

我正在尝试传递自己的prometheus.yml文件。我是Docker的新手,我发现的示例都在Linux系统上,而我在Windows上。如何/在哪里提供我自己的Yaml文件的最佳方法?以下命令无法启动docker容器。

docker run -d -p 9090:9090 -v c:\Docker\prometheus.yml:/etc/prometheus/prometheus.yml --name=prometheus prom/prometheus -config.file=/etc/prometheus/prometheus.yml -storage.local.path=/prometheus -storage.local.memory-chunks=10000

当我尝试运行此命令时,Docker会提示我是否要共享我的C:驱动器,但是仍然无法使容器运行。

这是码头工人日志中所说的:

Error parsing commandline arguments: unknown short flag '-c'
prometheus: error: unknown short flag '-c'

因此,我删除了Digital Ocean在其示例中使用的最后几个参数,容器现在运行。

-storage.local.path=/prometheus -storage.local.memory-chunks=10000

所以现在我的问题是,我需要指定那些配置吗,如果需要,语法是什么?

3 个答案:

答案 0 :(得分:1)

能够使其在Windows env中工作。

要与docker在同一网络中运行prometheus:

检查以下内容:https://docs.docker.com/config/thirdparty/prometheus/

步骤:

  • 列表项

    • 单击工具栏中的Docker图标,选择“首选项”,然后选择“守护程序”。单击高级。 “ metrics-addr”:“ 127.0.0.1:9323”,“ experimental”:true

    • 重新启动docker

    • 创建C:\ tmp \ prometheus.yml [根据您的选择]
    • 目标下->目标:['docker.for.win.localhost:8001']
    • docker run --name容器名称--network =网络名称--mount type = bind,source = C:/tmp/prometheus.yml,destination=/etc/prometheus/prometheus.yml-已发布= 9090,target = 9090,protocol = tcp prom / prometheus
    • URL:本地主机:9090

希望这会有所帮助。 已创建一个示例工作项目:https://github.com/mayank1989gupta/GradleAutoDeploy 您可以找到与此相关的更多详细信息。

答案 1 :(得分:1)

将命令更改为:

docker run -d -p 9090:9090 -v c:\Docker\prometheus.yml:/etc/prometheus/prometheus.yml --name=prometheus prom/prometheus --config.file=/etc/prometheus/prometheus.yml -storage.local.path=/prometheus -storage.local.memory-chunks=10000

您只需要在-config之前添加--config就可以使--config

对我有用。

答案 2 :(得分:0)

DO的教程已过时。从v2.0开始,基本上是Prometheus中与were changed相关的事物:

  • 新的CLI选项格式:双破折号表示长选项,例如--config.file
  • 选项storage.local.*(和其他一些选项)已删除

正确的命令应为:

docker run -d -p 9090:9090 -v c:\Docker\prometheus.yml:/etc/prometheus/prometheus.yml --name=prometheus prom/prometheus --config.file=/etc/prometheus/prometheus.yml