docker неверное сообщение - Ошибка ответа от демона: неверный режим - PullRequest
0 голосов
/ 26 апреля 2020

Я использую windows 10 home, поэтому не могу установить docker desktop; Мне нужно установить docker toolbox вместо этого, так как windows 10 home не имеет hyper v.

Мне также нужно установить InfxDB и следовать указаниям ниже:

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'.

Я попытался найти решение в этом URL:

Docker Панель инструментов: сообщение об ошибке от демона: недопустимый режим: / root / docker

путем добавления // вместо /, но оно все равно не работает, и выдает то же сообщение об ошибке.

Может кто-нибудь помочь, пожалуйста? Спасибо.

Ответы [ 2 ]

0 голосов
/ 26 апреля 2020

«Режим» означает флаги монтирования для монтирования привязки. Краткий синтаксис для тома имеет компоненты, разделенные двоеточиями. Первая часть является источником. Вторая часть - это цель внутри контейнера. И третья часть - это варианты крепления. Только с двумя двоеточиями вы не проходите флаги. И без каких-либо двоеточий у вас есть анонимный том без источника.

Таким образом, чтобы разбить ваше монтирование тома, у вас есть:

  • source: C (без ведущего sla sh, это именованный том, а не монтируемый хост)
  • target: /ProgramData/InfluxDB
  • опции монтирования: /var/lib/influxdb

с Windows Сложность заключается в том, что синтаксис диска включает двоеточие после буквы диска. С docker вы можете вместо этого использовать косую черту. И если вы когда-либо будете использовать git bash, вы захотите, чтобы в этих путях использовались две начальные косые черты, чтобы избежать поведения этих приложений для преобразования этих строк в относительный путь. (Без git bash второй ведущий sla sh не требуется.) Результат выглядит следующим образом:

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

Обратите внимание, что ведущий sla sh важен, но еще важнее удаляет двоеточие после буквы диска.

0 голосов
/ 26 апреля 2020

Попробуйте:

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

это может быть связано с форматированием пути привязки и / или точкой в ​​имени файла под командой -config.

...