Выполнение команды версии докера в Windows возвращает следующие результаты:

C:\Projects> docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/amd64
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/version: open //./pipe/docker_engine: The system cannot find the file
specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

Запуск диагностики дает следующее:

C:\Projects> wget https://github.com/Microsoft/Virtualization- 
Documentation/raw/master/windows-server-container-tools/Debug- 
ContainerHost/Debug-ContainerHost.ps1 -UseBasicParsin | iex

Checking for common problems
Describing Windows Version and Prerequisites
 [+] Is Windows 10 Anniversary Update or Windows Server 2016 608ms
 [+] Has KB3192366, KB3194496, or later installed if running Windows build 14393 141ms
 [+] Is not a build with blocking issues 29ms
Describing Docker is installed
 [-] A Docker service is installed - 'Docker' or 'com.Docker.Service'  134ms
   Expected: value to not be empty
   27:         $services | Should Not BeNullOrEmpty
   at , : line 27
 [+] Service is running 127ms
 [+] Docker.exe is in path 2.14s
Describing User has permissions to use Docker daemon
 [+] docker.exe should not return access denied 42ms
Describing Windows container settings are correct
 [-] Do not have DisableVSmbOplock set to 1 53ms
   Expected: {0}
   But was:  {1}
   66:              $regvalue.VSmbDisableOplocks | Should Be 0
   at , : line 66
 [+] Do not have zz values set 42ms
Describing The right container base images are installed
error during connect: Get http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.25/images/json: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.
 [-] At least one of 'microsoft/windowsservercore' or 'microsoft/nanoserver' should be installed 129ms
   ValidationMetadataException: The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   ParameterBindingValidationException: Cannot validate argument on parameter 'Property'. The argument is null or empty. Provide an argument that is not null or empty, and then try the command again.
   at , : line 90
Describing Container network is created
 [-] Error occurred in Describe block 1.08s
   RuntimeException: Cannot index into a null array.
   at , : line 119
Showing output from: docker info

Showing output from: docker version
Client:
 Version:      1.13.0-dev
 API version:  1.25
 Go version:   go1.7.3
 Git commit:   d8d3314
 Built:        Tue Nov  1 03:05:34 2016
 OS/Arch:      windows/amd64

Showing output from: docker network ls

Warnings & errors from the last 24 hours
Logs saved to C:\Projects\logs_20161107-084122.csv
C:\Projects>

Jim

Ответов: 46

Ответы (46)

Откройте диск C в PowerShell или Git bash и выполните команду ниже

.\Program Files\Docker\Docker\DockerCli.exe -SwitchDaemon

Попробуйте запустить следующее из командной строки с повышенными привилегиями:

SET DOCKER_CERT_PATH=C:\Users\[YourName]\.docker\machine\machines\default
SET DOCKER_HOST=tcp://[yourDockerDeamonIp]:2376
SET DOCKER_MACHINE_NAME=default
SET DOCKER_TLS_VERIFY=1
SET DOCKER_TOOLBOX_INSTALL_PATH=C:\Program Files\Docker Toolbox

Вы также можете обнаружить, что даже без установки этих переменных env выполнение команд из терминала быстрого запуска Docker работает без проблем.

Попробуйте решить проблему одним из следующих способов:

Вариант А

Start-Service «Управление виртуальной машиной Hyper-V»
Start-Service "Вычислительная служба узла Hyper-V"

или

Вариант Б

  1. Открыть «Окно безопасности»

  2. Откройте «Управление приложением и браузером»

  3. Нажмите внизу «Настройки защиты от эксплойтов»

  4. Перейти на вкладку «Настройки программы»

  5. Найдите в списке «C: \ WINDOWS \ System32 \ vmcompute.exe» и разверните его

  6. Нажмите «Изменить»

  7. Прокрутите вниз до «Защита от потока кода (CFG)» и снимите флажок «Отменить системные настройки»

  8. Запустить vmcompute из PowerShell "net start vmcompute"

  9. Затем перезагрузите систему

Наткнулся на ту же проблему. Я решил это, включив Hyper-v.

  1. Включить виртуализацию в BIOS
  2. Установить hyper-v

У меня были такие же ошибки после установки в Windows 10. И я попытался перезапустить, но это не сработало, поэтому я сделал следующее (не рекомендую, если вы какое-то время работали в докере, это было при новой установке):

1) Найдите кита на панели задач и щелкните правой кнопкой мыши

2) Заходим в настройки> Сброс

3) Сброс до заводских настроек

Тогда я смог следовать руководству по началу работы с докерами на веб-сайте с Windows 10, и теперь он работает как шарм.

Код ошибки:

ошибка при подключении: Get http: //%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/version: открыть //./pipe/docker_engine: система не может найти указанный файл. в конфигурация демона по умолчанию в Windows, клиент-докер должен быть запущен повышен для подключения. Эта ошибка также может указывать на то, что докер демон не запущен.

Решения:

1) В командном окне Windows 7 (cmd.exe) откройте cmd.exe с правами администратора и выполните следующую команду:

docker-machine env --shell cmd default

Вы получите следующий результат:

SET DOCKER_TLS_VERIFY=1
SET DOCKER_HOST=tcp://192.168.99.100:2376
SET DOCKER_CERT_PATH=C:\Users\USER_NAME\.docker\machine\machines\default
SET DOCKER_MACHINE_NAME=default
SET COMPOSE_CONVERT_WINDOWS_PATHS=true
REM Run this command to configure your shell:
REM @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

Скопируйте команду ниже и выполните на cmd:

@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

А затем выполните следующую команду для управления:

docker version

2) Для Windows 7 Powershell откройте powershell.exe с правами администратора и выполните следующую команду:

docker-machine env --shell=powershell | Invoke-Expression

А затем выполните следующую команду для управления:

docker version

3) Если вы снова откроете cmd или powershell, вам придется повторить соответствующие шаги еще раз.

После установки рабочего стола докера на ваш компьютер (windows one). Вы можете найти это место. Что на самом деле делает? Он запускает Docker Daemon через ваш CLI

"C:\Program Files\Docker\Docker\DockerCli.exe" -SwitchDaemon

В моем случае WSL2 Linux-Kernel отсутствовал, загрузите, выполните и перезапустите:

https://docs.microsoft.com/de-de/windows/wsl/wsl2-kernel

Решил проблему.

Столкнулся с аналогичной проблемой, установив рабочий стол докера на виртуальную машину Windows, работающую на WSL2.

Решение:

Обновлен Windows до последней сборки и VMTools до последней (11.2) версии, исправлена ​​проблема, теперь докер работает без остановки.

У одного из моих друзей была похожая проблема, мы попробовали это, и это сработало.

Hyper-V, несмотря на то, что он был указан в разделе «Включение или отключение компонентов Windows» как активный, на самом деле не был активен. Это стало очевидным при запуске systeminfo под PowerShell и просмотре чтобы требования были указаны как выполненные (что не соответствует ожидаемому результату, если Hyper-V действительно запущен).

  1. Откройте «Включение или отключение функций Windows»
  2. Если вы не знаете, как это сделать, обратитесь к https://www.howtogeek.com/250228/what-windows-10s-optional-features-do-and-how-to-[включить или выключить /] [1]
  3. Выключите Hyper-V (снимите флажок, убедившись, что все компоненты отмечены как выключенные)
  4. Нажмите «ОК» - и ваша машина перезагрузится.
  5. Когда ваш компьютер снова загрузится, откройте «Включение или выключение компонентов Windows» и снова включите Hyper-V. Ваша машина снова перезагрузится.

Теперь вы можете протестировать, запустив docker hello-world image.

Убедитесь, что у вас включен Hyper-V, в моем случае это была проблема.

После безуспешной попытки всего из этих ответов я просто обновился до Windows 11

(в моем случае: 19043.1237 -> 22000.258)

У меня возникла эта проблема, когда я пытался создать образ MySQL с помощью командной строки

  • Чтобы исправить это, я просто жду, пока приложение Docker Desktop запустится и будет работать правильно, затем я попытался снова.enter image description here

Недавно у меня была такая же проблема. Проблема заключалась в том, что программа безопасности (Trendmicro) блокировала докер для создания сетевого интерфейса Hyperv. Вам также следует проверить брандмауэр, антивирусное программное обеспечение, не блокирующее установку или настройку.

Для Windows - Откройте «Docker для рабочего стола» -> значок «Продолжить отладку» -> нажмите «Восстановить заводские настройки по умолчанию»

  1. Удалите Docker в «Установка и удаление программ»
  2. Перезагрузите компьютер
  3. Установить Docker от имени администратора (а не путем прямого запуска установщика)
  4. Если установщик запросит перезагрузку, сделайте это

Вы можете запустить Kitematic, когда получите эту ошибку. Отобразится кнопка для сброса виртуальной машины и устранит проблему.

Самый простой способ решить проблему - закрыть рабочий стол докера и перезапустить его снова. Если вы видите значок докера с синим светом в нижнем левом углу, это означает, что демон докера запустился успешно, и указанная выше ошибка должна быть исправлена.

Мое решение было довольно простым. Я заметил, что докер запускал контейнеры Linux вместо контейнеров Windows. Что я сделал, так это переключился на контейнеры Windows, щелкнув правой кнопкой мыши значок докера на панели задач и выбрав Переключиться на контейнеры Windows.

Вы можете запустить "C: \ Program Files \ Docker \ Docker \ DockerCli.exe" -SwitchDaemon и указать Docker CLI на контейнеры Linux или Windows. У меня это сработало.

Та же проблема возникла, когда я начал работать с докером в Windows 10. Мне удалось запустить docker --version успешно, но не удалось, когда я попытался запустить docker pull docker / whalesay.
Я пробовал много вещей, предложенных в ответах здесь, но моя проблема была решена, когда я выполнил следующие шаги:
1. Найдите docker в Windows и запустите рабочий стол docker от имени администратора.
2. Проверьте символ докера в нижнем левом углу, он должен быть зеленым, если докер запущен.
3. Если он не запущен, первая установка «wsl_update».
4. Откройте рабочий стол докера и войдите в систему, используя свои учетные данные докера. Когда вы войдете в систему, вы увидите, что сервер перезагружается, а левый нижний логотип становится зеленым.
5. Чтобы проверить, запущен ли докер или нет, откройте PowerShell от имени администратора и запустите docker run hello-world.

если вы в Windows попробуйте это

 docker-machine env --shell cmd default 
 @FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i

для тестирования попробуйте

docker run hello-world

с последним обновлением докера, у меня возникла проблема, когда приложение докера зависало при запуске. Я решил это, завершив wsl.exe с помощью диспетчера задач.

enter image description here

Для меня эта проблема решена пением в Docker Desktop.

enter image description here

Для запуска службы необходимы права администратора

У меня была аналогичная проблема. Проблема исчезает, когда я запускаю командную строку (запуск от имени администратора "и набираю" версия докера ".

C:\WINDOWS\system32>docker version


Client: Docker Engine - Community
 Version:           19.03.8
 API version:       1.40
 Go version:        go1.12.17
 Git commit:        afacb8b
 Built:             Wed Mar 11 01:23:10 2020
 OS/Arch:           windows/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          19.03.8
  API version:      1.40 (minimum version 1.12)
  Go version:       go1.12.17
  Git commit:       afacb8b
  Built:            Wed Mar 11 01:29:16 2020
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          v1.2.13
  GitCommit:        7ad184331fa3e55e52b890ea95e65ba581ae3429
 runc:
  Version:          1.0.0-rc10
  GitCommit:        dc9208a3303feef5b3839f4323d9beb36df0a9dd
 docker-init:
  Version:          0.18.0
  GitCommit:        fec3683

Я использую Windows 7 с Docker Toolbox, и чтобы исправить это, просто откройте Терминал быстрого запуска Docker.

$ версия докера Клиент: Версия: 17.05.0-ce Версия API: 1.29 Версия Go: go1.7.5 Git commit: 89658be Построен: 5 мая, пятница 15:36:11 2017 ОС / Arch: windows / amd64

Сервер: Версия: 17.05.0-ce Версия API: 1.29 (минимальная версия 1.12) Версия Go: go1.7.5 Git commit: 89658be Построен: четверг, 4 мая, 21:43:09 2017 OS / Arch: linux / amd64 Экспериментально: false

У меня была такая же проблема.

Запуск демона докеров решил проблему. Просто найдите докер, нажав клавишу Windows, и нажмите «Docker Dekstop». Демон должен запуститься через минуту. enter image description here

После запуска Docker Desktop убедитесь, что статус демона докера в нижнем левом углу зеленого цвета и при наведении курсора на него отображается RUNNING.

Для win10 у меня была такая же проблема:

error during connect: Post http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.39/images/load?quiet=0: open //./pipe/docker_engine: The system cannot find the file specified. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running.

Докер сервис вроде заработал. Перезагрузка не помогла. Помог запуск двоичного файла из установочного каталога от имени администратора.

В моем случае:

run as administrator -> C:\Program Files\Docker\Docker\Docker for Windows.exe

Я использую окно 10 и выполнил следующие шаги для решения этой проблемы.

  1. проверьте, включена ли виртуализация из диспетчера задач -> производительность
  2. перезапустил службу докеров
  3. Установите последнюю сборку докера и перезапустите компьютер.
  4. Убедитесь, что служба docker запущена.

Приведенные выше шаги помогли мне решить проблему.

Это сработало для меня на win10-home https://github.com/docker/for-win/issues/11967

  1. Выключите докер службы
  2. Теперь выполните это в окне командной строки терминала
    RMDIR / S% ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ% \ AppData \ Roaming \ Docker
  3. Запустите докер службы
  4. Теперь щелкните "Рабочий стол Docker"

«Рабочий стол Docker» теперь будет работать ... готово ...:)

Решено для меня, запустив настольное приложение docker, уведомление о регистрации. При необходимости настройте.

$ net start com.docker.service

Служба Docker для Windows запускается. Служба Docker для Windows успешно запущена.

$ docker version

$ net start com.docker.service

Запрошенная услуга уже запущена.

Я тоже столкнулся с ошибкой, которая говорит:

"Access is denied. In the default daemon configuration on Windows, the docker client must be run elevated to connect. This error may also indicate that the docker daemon is not running."

Решили эту проблему, запустив "powershell" в режиме администратора.

Это решение поможет тем, кто использует двух пользователей на одной машине windows

Убедитесь, что вы запускаете Powershell «от имени администратора», что также предотвратит ошибку, которую вы получили от версии докера .

эти подсказки, вероятно, будут устаревшими к 2021 году:

Затем попробуйте запустить службу докеров: докер запуска службы Если это не поможет, удалите файл docker.pid, который вы найдете с помощью cd $ env: programfiles \ docker; rm docker.pid
Наконец, вы должны изменить HKLM: \ SOFTWARE \ Microsoft \ Windows NT \ CurrentVersion \ Virtualization \ Containers \ VSmbDisableOplocks на 0 или удалить значение.

Если вы видите экран Docker STOPPED или Not Running в левой нижней части экрана, выполните следующие действия

  1. Откройте PowerShell с помощью - Запуск от имени администратора
  2. Закройте рабочий стол Docker, если он открыт
  3. Выполните следующую команду в PowerShell «& 'C: \ Program Files \ Docker \ Docker \ DockerCli.exe' -SwitchDaemon»
  4. Откройте рабочий стол Docker, он запустится.

Я столкнулся с этой проблемой. Я попробовал описанные выше шаги, и у меня это сработало. Спасибо!

Причина: одна причина может быть вызвана тем, что мы закрываем vmmem командой

wsl --shutdown

Решение: простой перезапуск Docker щелчком правой кнопки мыши устранит проблему.

enter image description here

У меня такая же ошибка для Docker версии 19.03.12 и Windows 10. Решили это, выполнив следующие шаги. Надеюсь, это поможет другим.

  1. Перейдите в Пуск Windows -> Поле поиска (Введите здесь для поиска). Там введите «Services». Среди перечисленных товаров щелкните Services app.
  2. Теперь выполните поиск «Docker Desktop Service» в открывшемся окне Services. Щелкните его правой кнопкой мыши и Запустите службу. Его статус должен быть изменен на «Работает».
  3. Если на шаге 2 возникает ошибка типа «не удалось запустить службу зависимостей», запустите все службы зависимостей. Мне пришлось запустить службу под названием «Сервер».
  4. Дважды щелкните значок «Docker Desktop» на рабочем столе. Теперь вы увидите на панели задач «Docker Desktop работает».
  5. Теперь запустите команду 'версия докера' из Командная строка или PowerShell. Он должен давать чистый вывод.
  6. Если возникнут какие-либо проблемы на шаге 5, запустите Командную строку или PowerShell от имени администратора.

Приведенное выше разрешение предполагает, что Docker уже установлен и Hyper-V / Виртуализация включена в вашей системе.

Для меня ошибка была решена путем остановки виртуального экземпляра Ubuntu, который работал в Hyper-V:

Система не может найти указанный файл. В конфигурации демона по умолчанию в Windows для подключения клиент-докер должен быть запущен с повышенными привилегиями. Эта ошибка также может указывать на то, что демон docker не запущен.

После остановки экземпляра Ubuntu и перезапуска Docker Desktop мои обычные команды Docker работали нормально.

PS: У меня возникла идея попробовать это из-за журнала ошибок, который Docker Desktop любезно скомпилировал и предложил отправить в Docker Hub в качестве отзыва пользователя ... в журнале было указано, что на моей машине не хватает RAM, и Docker не работал по очень простой причине. Это решило убийство экземпляра Ubuntu.

Я столкнулся с той же проблемой, это может быть проблема администратора, поэтому выполните следующие шаги, чтобы настроить докер на

windows10

.

  1. Загрузите рабочий стол докера из концентратора докеров после входа в докер.Будет загружен файл Docker Desktop Installer.exe.
  2. Установить Docker Desktop Installer.exeиспользуя Запуск от имени администратора -> Отметить контейнер Windows во время установки, иначе он установит только контейнер Linux. После выхода из системы и входа в систему он будет запрашивать выход из системы. В меню отображается рабочий стол докера.
  3. После установки перейдите в -> Управление компьютером -> Локальные пользователи и группы -> Группы -> docker-user -> Добавить пользователя в члены enter image description here
  4. Запустить рабочий стол docker, используя Запуск от имени администратора enter image description here
  5. Проверьте значок кита-докера на вкладке уведомлений enter image description here
  6. запустить команду> версия докера enter image description here Докер успешно используется без проблем.

Если ни один из других ответов вам не подходит, попробуйте следующее: Откройте терминал и запустите:

wsl -l -v 

Если вы заметили, что рабочий стол docker-desktop остался висеть в состоянии «Installing», закройте Docker, запустите powershell от имени администратора и отмените регистрацию docker-desktop:

PS C:\WINDOWS\system32> .\wslconfig.exe /u docker-desktop

Перезагрузите докер и, надеюсь, он заработает. Если это не так, попробуйте сначала удалить docker, затем отмените регистрацию docker-desktop и переустановите Docker.

Источник: https://github.com/docker/for-win/issues/7295#issuecomment-645989416

Это окончательное решение .. у меня работает ... !!

1) Найдите кита на панели задач и щелкните правой кнопкой мыши

2) Заходим в настройки> Сброс

3) Сброс до заводских настроек

Для меня проблема заключалась в том, что виртуализация не была включена.

В Windows 10: перейдите в диспетчер задач -> Производительность -> ЦП, и вы увидите раздел «Виртуализация: включена»

Если вы не видите эту опцию, это означает, что виртуализация не включена.

Еще одна интересная вещь, на которую следует обратить внимание: у вас должен быть включен Hyper V. Однако, когда я использовал рабочий стол Parallels, мне пришлось включить «Вложенную виртуализацию», чтобы Hyper V был «действительно включен». Поэтому, если у вас Windows виртуальная машина, проверьте настройки Parallels (или того, что вы используете), что вложенная виртуализация включена.

Если вы установили докер в Windows 10 Pro с включенным Hyper-V и по-прежнему не можете запустить Docker в Windows 10, то, как следует из ошибки, ваш демон докера не запускается.

Следующие шаги помогли мне успешно запустить докер:

  1. Использовать команду в cmd (режим администратора)

    перезапуск докер-машины по умолчанию
    
  2. Затем вы получите сообщение вроде:

    открыть C: \ User \\ {User_name} \\. Docker \ machine \ machines \ default \ config.json:
    Система не может найти указанный файл.

  3. Перейдите к значку докера, который будет на панели задач Windows (нижний правый угол рабочего стола)

  4. Щелкните правой кнопкой мыши значок докера> Настройки> Сброс> Перезапустить Docker

    Это займет несколько минут

  5. Затем вы увидите следующее сообщение:

    Docker работает с зеленым индикатором

Примечание: Если в вашей системе уже были запущены контейнеры Docker, то не выполняйте следующие шаги. Вы можете потерять существующие контейнеры.

enter image description here

Ошибка связана с этой частью:

В конфигурации демона по умолчанию в Windows клиент докера должен запускаться с повышенными правами для подключения

Вы можете сделать это, чтобы переключить демон Docker как пользователь с повышенными привилегиями:

С Powershell:

  1. Откройте Powershell от имени администратора
  2. Команда запуска: & 'C: \ Program Files \ Docker \ Docker \ DockerCli.exe' -SwitchDaemon

ИЛИ, с помощью cmd:

  1. Открыть cmd от имени администратора
  2. Команда запуска: "C: \ Program Files \ Docker \ Docker \ DockerCli.exe" -SwitchDaemon

1. - Откройте расположение ярлыка:

shorcut

2.- Щелкните правой кнопкой мыши и свойства и добавьте "-SwitchDaemon" в destiny

enter image description here

3.- Дать права администратора, дополнительные параметры:

enter image description here

4.- Перезагрузить windows.

Для установки на машине с Windows 10: Перед установкой функции поиска Windows выполните поиск и проверьте платформу гипервизора Windows и подсистему для Linux. windows features

Установка для WSL 1 или 2 является обязательной, поэтому устанавливайте ее, пока докер не предложит вам установить ее.

https://docs.microsoft.com/en-us/windows/wsl/install-win10

Вам необходимо установить ubantu (версии 16,18 или 20) из магазина windows:

убанту версия 20

После установки вы можете запустить команду типа docker -version или docker запускает hello-world в терминале Linux.

Это видео поможет: https://www.youtube.com/watch?v=5RQbdMn04Oc&t=471s

Я знаю, что этот вопрос был давным-давно, но я не нашел подходящего объяснения и решения, поэтому, надеюсь, мой ответ будет полезен :)

Предполагая, что вы устанавливаете Docker Toolbox в Windows, будут доступны команды docker и docker-machine. Часто люди не понимают, когда использовать любой из них.

Команды docker используются только на виртуальной машине для управления изображениями. Команды docker-machine используются на хосте для управления виртуальными машинами Linux.

Итак, пожалуйста, используйте команды docker-machine на вашем компьютере с Windows. Используйте команду docker внутри вашей виртуальной машины. Чтобы использовать команды docker, например docker ps, вы можете либо открыть Docker Quickstart Terminal, либо запустить их на своем cmd / bash / PowerShell:

докер-машина запускается по умолчанию /при условии, что по умолчанию - это ваша виртуальная машина Linux/

SSH докер-машины по умолчанию

Это запустит boot2docker, и вы увидите значок докера в командной строке. Затем вы можете использовать команды docker.

Удачи :)

2022 WebDevInsider