无法将 docker 卷装载到 运行 opentelemetry 图像

Can't mount docker volume to run opentelemetry image

我尝试 运行 opentelemetry docker 图像,并将配置 yaml 文件作为参数:

docker run -v "./otel-collector-config.yaml":/otel-collector-config.yaml -p 4317:4317 otel/opentelemetry-collector:latest --config=otel-collector-config.yaml

我不断收到此错误消息:

2021-10-01T08:21:05.384Z        info    service/collector.go:303        Starting otelcol...     {"Version": "0.35.0", "NumCPU": 12}
2021-10-01T08:21:05.384Z        info    service/collector.go:242        Loading configuration...
Error: cannot load configuration's parser: error loading config file "/etc/otel-collector-config.yaml": unable to read the file /etc/otel-collector-config.yaml: read /etc/otel-collector-config.yaml: is a directory
2021/10/01 08:21:05 application run finished with error: cannot load configuration's parser: error loading config file "/etc/otel-collector-config.yaml": unable to read the file /etc/otel-collector-config.yaml: read /etc/otel-collector-config.yaml: is a directory

应用程序似乎无法读取卷中传递的文件,因为它似乎是一个目录,而不是一个文件。

有谁知道我如何才能将此文件挂载为文件,或指导我找出我做错了什么?

我已经尝试了所有可能的 with/without " 围绕文件名的组合,或者也尝试了 = 到 var 赋值 - 到目前为止没有任何效果。

请注意,我正在处理 Windows,以防出现与操作系统相关的问题。

我终于找到了答案,多亏了这个

您需要指定要挂载的文件的完整路径。 如果没有,因为docker会找不到填充,它会根据文件名创建一个空目录!