Докер не может начать на окнах
Проведение docker version
возвращает следующие результаты.
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 <ScriptBlock>, <No file>: 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 <ScriptBlock>, <No file>: 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 <ScriptBlock>, <No file>: line 90
Describing Container network is created
[-] Error occurred in Describe block 1.08s
RuntimeException: Cannot index into a null array.
at <ScriptBlock>, <No file>: 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>
63 ответа
Ошибка связана с этой частью:
В конфигурации демона по умолчанию в Windows для подключения докер-клиент должен быть запущен с повышенными привилегиями.
Вы можете сделать это, чтобы переключить демон Docker:
- Откройте Powershell от имени администратора
- Выполните следующую команду:
cd "C:\Program Files\Docker\Docker"
./DockerCli.exe -SwitchDaemon
Вы можете C:\Program Files\Docker\Docker>DockerCli.exe -SwitchDaemon и указать Docker CLI для контейнеров Linux или Windows. Это сработало для меня.
Код ошибки:
ошибка при подключении: Получить http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.29/version: open //./pipe/docker_engine: Системе не удается найти указанный файл. В конфигурации демона по умолчанию в Windows докер-клиент должен быть запущен с повышенными правами для подключения. Эта ошибка также может указывать на то, что демон Docker не работает.
Решения:
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, вам следует повторить соответствующие шаги еще раз.
Если вы видите экран Docker STOPPED или Not Running в левой нижней части экрана, выполните следующие действия.
- Откройте PowerShell с помощью - Запуск от имени администратора
- Закройте рабочий стол Docker, если он открыт
- Выполните следующую команду в PowerShell «& 'C:\Program Files\ Docker \ Docker \DockerCli.exe' -SwitchDaemon»
- Откройте Docker Desktop, он начнет работу.
Я столкнулся с этой проблемой. Я пробовал вышеупомянутые шаги, и у меня это сработало. Спасибо!
Я знаю, что этот вопрос был давно, но я не нашел правильного объяснения и решения, так что, надеюсь, мой ответ будет полезен:)
Предполагая, что вы устанавливаете Docker Toolbox в Windows, оба docker
а также docker-machine
команды будут доступны. Часто люди путаются, когда используют любой из них.
docker
Команды используются только в виртуальной машине для управления изображениями. docker-machine
Команды используются на хосте для управления виртуальными машинами Linux.
Поэтому, пожалуйста, используйте docker-machine
Команды на вашем компьютере с Windows. использование docker
Команда внутри вашей виртуальной машины. Чтобы использовать docker
команды, например, docker ps
Вы можете либо открыть Docker Quickstart Terminal, либо запустить их на своем cmd / bash / PowerShell:
docker-machine run default
/при условии, что по умолчанию используется ваша виртуальная машина Linux/
docker-machine ssh default
Это запустит boot2docker, и вы увидите значок докера в командной строке. Тогда вы можете использовать docker
команды.
Удачи:)
1.- Откройте расположение ярлыка:
2.- Щелкните правой кнопкой мыши и свойства и добавьте "-SwitchDaemon" в destiny
3.- Дайте права администратора, дополнительные параметры:
4.- Перезагрузите окна.
Для меня в Windows 11 редактирование
%APPDATA%\Docker\settings.json
до следующих значений, а затем перезапуск Docker Desktop помог (я использую WSL2, а не Hyper-V):
У меня была такая же проблема в терминале сразу после установки Docker Desktop 4.7.1, работающего с серверной частью WSL 2. Значок кита в трее тоже не показывался.
В моем случае проблема заключалась в том, что у меня уже был установлен дистрибутив WSL (Ubuntu), и он был установлен по умолчанию. Docker Desktop с серверной частью WSL 2 устанавливает собственный дистрибутив под названием docker-desktop . И он должен быть по умолчанию (по крайней мере, если он не настроен где-либо еще).
Поэтому мне пришлось запустить эту команду в PowerShell:
wsl --setdefault docker-desktop
и перезапустите службы докеров. Решение нашел здесь .
У меня такая же ошибка для Docker версии 19.03.12 и Windows 10. Решили это, выполнив следующие шаги. Надеюсь, это поможет другим.
- Перейдите в Windows Пуск -> Поле поиска (введите здесь для поиска). Там введите " Услуги ". Среди перечисленных элементов щелкните Приложение " Службы".
- Теперь выполните поиск " Docker Desktop Service " в открывшемся окне " Службы". Щелкните его правой кнопкой мыши и запустите службу. Его статус должен быть изменен на " Выполняется ".
- Если на шаге 2 возникает ошибка типа " не удалось запустить службу зависимостей ", запустите все службы зависимостей. Мне пришлось запустить службу под названием " Сервер ".
- Дважды щелкните значок " Рабочий стол Docker " на рабочем столе. Теперь вы увидите сообщение " Docker Desktop is running " на панели задач.
- Теперь запустите команду docker version из командной строки или PowerShell. Он должен давать чистый результат.
- Если возникла проблема на шаге 5, запустите командную строку или PowerShell от имени администратора.
Приведенное выше разрешение предполагает, что Docker уже установлен, а в вашей системе включены Hyper-V / виртуализация.
Попробуйте решить проблему одним из следующих способов:
Вариант А
Start-Service "Hyper-V Virtual Machine Management"
Start-Service "Hyper-V Host Compute Service"
или же
Вариант Б
Открыть "Окно безопасности"
Откройте "Управление приложениями и браузерами"
Нажмите "Настройки защиты от эксплойтов" внизу
Перейти на вкладку "Настройки программы"
Найдите "C:\WINDOWS\System32\vmcompute.exe" в списке и разверните его.
Нажмите "Изменить"
Прокрутите вниз до "Защита потока кода (CFG)" и снимите флажок "Переопределить настройки системы"
Запустите vmcompute из powershell "net start vmcompute"
Затем перезагрузите вашу систему
Причина : одна причина может быть вызвана тем, что мы закрыли vmmem командой
wsl --shutdown
Решение : простой перезапуск Docker, щелкнув правой кнопкой мыши, устранит проблему.
Я столкнулся с той же проблемой, это может быть проблема администратора, поэтому выполните следующие шаги, чтобы настроить докер на
окна10
.
- Загрузите рабочий стол докера из концентратора докеров после входа в докер.
Docker Desktop Installer.exe
файл будет загружен. - Установить
Docker Desktop Installer.exe
с помощьюRun as administrator
-> Отметьте контейнер Windows во время установки, иначе он установит только контейнер Linux. Он попросит выйти из системы после выхода и входа в систему, в меню отобразится рабочий стол докера. - После установки перейдите в -> Управление компьютером -> Локальные пользователи и группы -> Группы -> docker-user -> Добавить пользователя в члены
- Запустить рабочий стол докера с помощью
Run as administrator
- Проверьте значок кита-докера на вкладке уведомлений
- выполнить команду> версия докера. Успешное использование докера без каких-либо проблем.
Если вы находитесь в Windows, попробуйте это
docker-machine env --shell cmd default
@FOR /f "tokens=*" %i IN ('docker-machine env --shell cmd default') DO @%i
для тестирования попробуйте
docker run hello-world
Та же проблема возникла, когда я начал работать с докером в Windows 10. Я смог запустить
docker --version
успешно, но не удалось, когда я попытался запустить
docker pull docker/whalesay
.
Я пробовал много вещей, предложенных в ответах здесь, но моя проблема была решена, когда я выполнил следующие шаги:
1. Найдите докер в Windows и запустите рабочий стол докера от имени администратора.
2. Проверьте символ докера в нижнем левом углу, он должен быть зеленым, если докер запущен.
3. Если он не запущен, сначала установите « wsl_update ».
4. Откройте рабочий стол докера и войдите в систему, используя свои учетные данные докера. Когда вы вошли в систему, вы увидите, что сервер перезагружается, а левый нижний логотип становится зеленым.
5. Чтобы проверить, запущен ли докер или нет, откройте PowerShell от имени администратора и запустите
docker run hello-world
.
Если вы установили Docker в Windows 10 Pro с включенным Hyper-V, но по-прежнему не можете запустить Docker в Windows 10, значит, ошибка указывает на то, что ваш демон Docker не запущен. Выполните следующие шаги, это помогло мне успешно запустить Docker-
1. Используйте команду на CMD(режим администратора) перезапуска Docker-машины по умолчанию, после чего вы получите сообщение типа "open C:\User\{Имя_пользователя}\. Docker\machine\machines\default\config.json: система не может найти указанный файл." Перейдите к значку докера, который будет находиться на панели задач Windows (в правом углу рабочего стола). Затем щелкните правой кнопкой мыши значок докера -> Настройка -> Сброс -> Перезапустить Docker. Через несколько секунд появится сообщение "Докер работает с зеленым индикатором".
Примечание. Если в вашей системе уже запущены контейнеры Docker, не выполняйте следующие действия. Вы можете потерять существующие контейнеры.
Удалите папку под
%appdata%\Docker
как указано в проблемах Github
Для быстрого доступа нажмите Ctrl+R, вставьте « %appdata%\Docker », затем Enter, он должен открыть папку, расположенную в AppData\Roaming\Docker (например , C:\Users\YourUsername\AppData\Roaming\Docker)
Откройте диск C в PowerShell или Git bash и выполните команду ниже
.\Program Files\Docker\Docker\DockerCli.exe -SwitchDaemon
Мое решение было довольно простым. Я заметил, что докер запускал контейнеры Linux вместо контейнеров Windows. Я переключился на контейнеры Windows, щелкнув правой кнопкой мыши значок докера на панели задач и выбрав « Переключиться на контейнеры Windows».
Я получал те же ошибки после установки на Windows 10. И я попытался перезапустить, но это не сработало, поэтому я сделал следующее (не рекомендую, если вы некоторое время работали в Docker, это было при новой установке):
1) Найдите кита в системном трее и щелкните правой кнопкой мыши
2) Зайдите в настройки> Сброс
3) Сброс к заводским настройкам
Затем я смог следовать начальному руководству по докеру на веб-сайте с Windows 10, и теперь оно работает как шарм.
Для меня проблема была в том, что виртуализация не была включена.
В Windows 10: перейдите в диспетчер задач -> Производительность -> Процессор, и вы должны увидеть в разделе "Виртуализация: включено"
Если вы не видите эту опцию, это означает, что виртуализация не была включена.
Еще одна интересная вещь, которую стоит отметить, - у вас должен быть включен Hyper V. Однако, поскольку я использовал настольный компьютер Parallels, мне пришлось включить "Вложенную виртуализацию", чтобы Hyper V был "по-настоящему включен". Поэтому, если у вас Windows - это виртуальная машина, проверьте настройки Parallels (или того, что вы используете), когда включена вложенная виртуализация.
Я использую Windows 7 с Docker Toolbox, и чтобы исправить это, просто откройтеDocker Quickstart Terminal.
Версия $ docker Клиент: Версия: 17.05.0-ce Версия API: 1.29 Версия Go: go1.7.5 Git commit: 89658be Построен: пт 5 мая 15:36:11 2017 OS/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
In my case the WSL2 Linux-Kernel was missing, download, execute and restart:
https://docs.microsoft.com/de-de/windows/wsl/wsl2-kernel
Solved the problem.
Вы также можете использовать инструмент самодиагностики
DockerDesktop содержит инструмент самодиагностики, который помогает выявить некоторые распространенные проблемы. Перед запуском средства самодиагностики найдите com.docker.diagnose.exe. Обычно он устанавливается в C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe.
Чтобы запустить инструмент самодиагностики в Powershell:
& "C:\Program Files\Docker\Docker\resources\com.docker.diagnose.exe" check
Инструмент запускает набор проверок и отображает PASS или FAIL рядом с каждой проверкой. Если есть какие-либо сбои, в конце выделяются наиболее важные.
Затем запустите эту команду
& 'C:\Program Files\Docker\Docker\DockerCli.exe' -SwitchDaemon
У меня была такая же проблема в последнее время. Проблема заключалась в том, что Security Software(Trendmicro) блокировала докер для создания сетевого интерфейса Hyperv. Вы также должны проверить брандмауэр, программное обеспечение AV не блокирует установку или настройку.
Если ни один из других ответов вам не подходит, попробуйте следующее: откройте терминал и запустите:
wsl -l -v
Если вы заметили, что рабочий стол docker-desktop остался висеть в состоянии "Installing", закройте Docker, запустите powershell от имени администратора и отмените регистрацию docker-desktop:
PS C:\WINDOWS\system32> .\wslconfig.exe /u docker-desktop
Перезапустите докер, и, надеюсь, он сработает. Если это не так, попробуйте сначала удалить docker, затем отмените регистрацию docker-desktop и переустановите Docker.
После установки рабочего стола докера на ваш компьютер (windows one). Вы можете найти это место. Что на самом деле делает? Он запускает Docker Daemon через ваш CLI
C:\Windows\System32\cmd.exe\DockerCli.exe -SwitchDaemon
Убедитесь, что у вас включен Hyper-V, в моем случае это была проблема.
Для меня ошибка была решена путем остановки виртуального экземпляра Ubuntu, который работал в Hyper-V:
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.
Как только экземпляр Ubuntu был остановлен и Docker Desktop был перезапущен, мои обычные команды Docker выполнялись просто отлично.
PS: у меня возникла идея попробовать это из-за журнала ошибок, который Docker Desktop скомпилировал и предложил отправить в Docker Hub в качестве обратной связи с пользователем... журнал показывал, что на моей машине недостаточно оперативной памяти, и Docker не работает по этой очень простой причине. Убийство экземпляра Ubuntu решило это.
Это сработало для меня на win10-home https://github.com/docker/for-win/issues/11967
- Выключите докер службы
- Теперь выполните это в оконном командном терминале.
RMDIR /S %USERPROFILE%\AppData\Roaming\Docker
- Запустите докер службы
- Теперь нажмите на свой «Рабочий стол Docker».
"Рабочий стол Docker" запустится ... готово ... :)