类型 "bind" 的挂载配置无效:尝试为 Windows Docker 上的 运行 容器时绑定源路径不存在

Invalid mount config for type "bind": bind source path does not exist when trying to run container on Docker for Windows

我正在尝试 运行 在 https://docs.docker.com/engine/admin/prometheus/#use-prometheus 使用 Docker 在 Windows 的普罗米修斯样本。我正在执行以下命令:

docker service create --replicas 1 --name my-prometheus `
   --mount type=bind,source="C:/temp/prometheus.yml",destination=/etc/prometheus/prometheus.yml `
   --publish published=9090,target=9090,protocol=tcp `
   prom/prometheus

错误是:类型 "bind" 的挂载配置无效:绑定源路径不存在

我很确定该文件存在(Test-Path 使用 PowerShell returns true)。

知道我做错了什么吗?

更新

运行 与 mount type = volume 相同的命令给我以下错误:

C:/temp/prometheus.yml" 包含本地卷名称的无效字符,仅 "[a-zA-Z0-9][a-zA-Z0-9_.- ]" 是允许的。如果您打算传递主机目录,请使用绝对路径"

我正在传递主机目录,"C:/temp/prometheus.yml" 是绝对路径。

您可以在 Windows 更改您的 Windows 帐户密码后 运行 进入此。

  1. 打开 Docker 进行 Windows 设置。
  2. 在共享驱动器选项卡上单击重置凭据...
  3. 再次分享您的驱动器。

我遇到了同样的错误。如下图,取消选中“使用Docker Compose V2”,它对我有用。我想分享一下,以防这可能是某人的解决方案