泊坞窗无效消息-来自守护程序的错误响应:无效模式

时间:2020-04-26 01:18:45

标签: windows docker influxdb

我正在使用Windows 10家庭版,因此无法安装docker桌面;我需要安装docker工具箱,因为Windows 10 home没有Hyper v。

我还需要安装influxdb并遵循以下说明:

https://www.open-plant.com/knowledge-base/how-to-install-influxdb-docker-for-windows-10/

当我执行以下操作时:

docker run -p 8086:8086 -v C:/ProgramData/InfluxDB:/var/lib/influxdb influxdb -config /var/lib/influxdb/influxdb.conf

它在下面返回一条错误消息:

docker : C:\Program Files\Docker Toolbox\docker.exe: Error response from daemon: invalid mode: /var/lib/influxdb.
At line:1 char:1
+ docker run -p 8086:8086 -v C:/ProgramData/InfluxDB:/var/lib/influxdb  ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (C:\Program File...r/lib/influxdb.:String) [], RemoteException
    + FullyQualifiedErrorId : NativeCommandError

See 'C:\Program Files\Docker Toolbox\docker.exe run --help'.

我尝试了以下网址中的解决方案:

Docker Toolbox: Error response from daemon: invalid mode: /root/docker

通过添加//而不是/,但它仍然不起作用,并给出相同的错误消息。

有人可以帮忙吗?谢谢。

2 个答案:

答案 0 :(得分:0)

尝试一下:

docker run -p 8086:8086 -v /c/ProgramData/InfluxDB:/var/lib/influxdb influxdb "-config /var/lib/influxdb/influxdb.conf"

这可能与绑定路径格式和/或-config命令下文件名中的点有关。

答案 1 :(得分:0)

“模式”是指绑定安装的安装标志。卷的简短语法具有用冒号分隔的组件。第一部分是来源。第二部分是容器内的目标。第三部分是安装选项。只有两个冒号,您不会传递任何标志。而且没有任何冒号,您就有一个没有源的匿名卷。

因此,要拆分卷装入,您需要:

  • 源:C(不带斜杠,这是一个命名卷,而不是主机装载)
  • 目标:/ProgramData/InfluxDB
  • 安装选项:/var/lib/influxdb

在Windows中,复杂的是驱动器语法在驱动器号后包含一个冒号。使用docker,您可以改用斜杠。而且,如果您曾经使用过git bash,则希望这些路径使用两个前导斜杠,以避免应用程序的行为将这些字符串转换为相对路径。 (没有git bash,则不需要第二个斜杠。)结果如下:

 docker run -p 8086:8086 -v //c/ProgramData/InfluxDB:/var/lib/influxdb influxdb -config //var/lib/influxdb/influxdb.conf

请注意,斜杠很重要,但更重要的是在驱动器号后删除冒号。