我正在尝试传递自己的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
所以现在我的问题是,我需要指定那些配置吗,如果需要,语法是什么?
答案 0 :(得分:1)
能够使其在Windows env中工作。
要与docker在同一网络中运行prometheus:
检查以下内容:https://docs.docker.com/config/thirdparty/prometheus/
步骤:
列表项
单击工具栏中的Docker图标,选择“首选项”,然后选择“守护程序”。单击高级。 “ metrics-addr”:“ 127.0.0.1:9323”,“ experimental”:true
重新启动docker
希望这会有所帮助。 已创建一个示例工作项目: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相关的事物:
--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