Запустить docker daemon windows

Обновлено: 05.07.2024

Выполнение docker version возвращает следующие результаты.

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

Я пришел к выводу, что технология Windows еще не созрела. Используйте докер Linux, пока технология не станет зрелой.

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

Вы получите следующий вывод:

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

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

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

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

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

Объяснение пожалуйста! Метод PowerShell - самый простой в использовании. Но почему возникает эта проблема и как ее можно решить с помощью одного лайнера? Если шаги 1 и 2 исключают друг друга, почему они пронумерованы 1 и 2? А как насчет Windows 10 (Enterprise)? Docker machine "default" does not exist. Use "docker-machine ls" to list machines. Use "docker-machine create" to add a new one.

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

Это сработало для меня - Win10E - Docker версии 18.03.0-ce, сборка 0520e24 (с использованием linux vm - hyper v, виртуализация включена - что не позволяет мне запускать vm в виртуальном боксе - поэтому я могу использовать докер или виртуальную машину в одной точке вовремя)

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

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

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

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

docker-machine run default / предполагая, что по умолчанию ваша виртуальная машина Linux /

docker-machine ssh default

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

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

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


В этом руководстве мы рассмотрим, как настроить сервер Windows 2019 для запуска контейнеров Docker.

Docker изменил правила работы с контейнерами приложений и проектированием и развертыванием микросервисов.

Docker позволяет легко создавать, отправлять и запускать образы, содержащие приложения с их зависимостями, и избегать сумасшедших проблем с зависимостями, характерных для виртуальных машин.

Первоначально он был написан для Linux, но была проделана большая работа, чтобы позволить пользователям Windows и macOS запускать контейнеры Docker.

Как запустить Docker контейнеры на Windows Server 2019

Прежде чем вы сможете использовать контейнеры Windows для запуска нескольких изолированных приложений вашей системы, вам нужно включить функцию контейнеров и установить Docker на Windows Server 2019.

Шаг 1. Включите функцию контейнеров в Windows Server 2019

Запустите следующие команды.

Это установит Docker-Microsoft PackageManagement Provider из галереи PowerShell.

Пример вывода, как показано ниже:

Шаг 2. Установите Docker на Windows Server 2019

как только функция «Контейнеры» будет включена в Windows Server 2019, установите последнюю версию Docker Engine и Client, выполнив следующую команду в сеансе PowerShell.

Согласитесь на установку, используя «yes», «Y» или «А», чтобы согласиться со всеми.

После завершения установки перезагрузите компьютер.

Установленную версию Docker можно проверить с помощью:

Тожe самое можно выполнить командой docker --version

Обновление можно выполнить в любое время, выполнив следующие команды в PowerShell.

Шаг 3: Запустите Docker контейнер

Запустить Docker Daemon

Запуск контейнеров Linux на Windows Server 2019

Из коробки Docker в Windows запускает только контейнер Windows.

Чтобы использовать контейнеры Linux на Windows Server, вам нужно использовать Docker Enterprise Edition Preview, который включает в себя полную систему LinuxKit для запуска контейнеров Docker Linux.

Удалите ваш текущий Docker CE.

Включите вложенную виртуализацию, если вы используете Docker Containers с использованием виртуальной машины Linux, работающей в Hyper-V.

Затем установите текущую предварительную сборку Docker EE.

Включить систему LinuxKit для запуска контейнеров Linux

Перезапустите Docker Service после изменения.

Вытащите образ тестового докера.

Чтобы вернуться к работе с контейнерами Windows, выполните:

Наслаждайтесь работой контейнеров Linux и Windows на Windows Server 2019. Оставьте нам комментарий в случае каких-либо проблем.

У нас есть Docker для Windows, установленный на Windows Server 2016 Datacenter box.

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

Однако, если я войду в это поле, используя свою учетную запись AD, демон запускается, запускается, а затем я могу подключиться и сделать все, что мне нужно.

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

Что я пробовал:

  • Проверенный Docker был указан в службах Windows и настроен на автоматический запуск.
  • Созданные записи в планировщике заданий Windows для запуска докера executable и com.service.docker при загрузке с повышенными специальные разрешения .

3 ответа

Я могу подтвердить комментарий eckes над. Ничто не похоже на работу. Я был очень усердным в настройке планировщика заданий для запуска под пользователем SYSTEM с повышенными привилегиями и т. Д., И все же мне не повезло.

Я нашел одно решение, которое требует стороннего программного обеспечения. Программное обеспечение AlwaysUp позволяет Docker запускаться при запуске без необходимости входа в систему.

Я следовал инструкциям, кроме Docker Tools в качестве исполняемого файла для беги, я указал на reference\dockerd.exe . Перезапустил сервер, и теперь я могу подключиться к своему удаленному демону.

Я рекомендую этот подход как самое простое решение.

Лучшее решение для Windows-сервера - использовать Task Scheduler для создания задачи, которая запускает приложение «Docker Desktop» в случае запуска системы.

Чтобы выполнить поиск «Планировщик заданий», нажмите «Создать задание . ».

На новой вкладке укажите имя для задачи и выберите переключатель «Выполнить независимо от того, вошел ли пользователь в систему» и флажок «Запускать с наивысшими привилегиями». в конце страницы выберите подходящий тип окон.

Create Task

Теперь нажмите вкладку триггера и добавьте новый триггер. на новой странице запуска выберите «При запуске» и нажмите «ОК».

enter image description here

Наконец, нажмите на вкладку действия и добавьте новое Действие, которое запускает ярлык «Окна Docker», который запускает демон Docker в Windows.

Create Action

При запуске докера пройдет 1 минута, и запуск контейнера может занять несколько времени (в моем случае 4 минуты), подождать несколько минут и затем проверить, работает ли ваш докер.

Вот сценарий PowerShell, который создает запланированное задание и проверен на работу в Windows 10:

Установить Docker на Windows WSL2

В этой заметке я расскажу как поставить Докер на Windows 10, но сначала я опишу установку Windows Subsystem for Linux. Работу с самим Докером я описывать не буду, сделаю это позже.

Установка WSL2 на Windows 10

Установка элементарная, главное проверьте чтобы ваш компьютер и Windows 10 отвечали минимальным требованиям.

UPD.

Для Windows 11 и Windows 10 (сборка 19041 и выше) для установки WSL достаточно одной команды (PowerShell с правами администратора):

wsl --install

Эта команда включит все необходимые компоненты и установит дистрибутив Linux (по умолчанию Ubuntu), вам нужно будет только перезагрузить компьютер.

Если коротко, то установка WSL2 на Windows 10 сводится к следующим шагам:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

4) Выбираем WSL 2 в качестве версии по умолчанию, если этого не сделать новые дистрибутивы Linux будут установлены в WSL 1. Вновь запускаем PowerShell с правами администратора и добавляем команду:

wsl --set-default-version 2

После я запускаю установленную Убунту и задаю логин и пароль.

Установленная Убунту через WSL2

Все, Убунту можно закрыть.

Установка Docker на Windows 10

Запускаем скачанный файл и производим обычную установку приложения Windows.

При установке убедитесь что установлена галочка на Enable WSL 2 Windows Features.

Установлена галочка на Enable WSL 2 Windows Features

После установки следуйте инструкциям и перелогиньтесь в Windows, Докер запуститься при следующем входе в Windows, иногда в первый раз может понадобится довольно длительное время.

Когда он запустится, рекомендую в окне приветствия нажать Start и пройти небольшое обучение.

После обучающего урока у вас будет запущен ваш первый Docker контейнер.

Запущен ваш первый Docker контейнер

Теперь вы можете заниматься разработкой в Windows 10 использую Docker.

Кстати, я не хочу чтобы Докер запускался каждый раз при включении компьютера, поэтому в настройках я убрал галочку Start Docker Desktop when you log in.

Читайте также: