Я хочу написать сценарий PowerShell, который создаст несколько запущенных контейнеров докеров при загрузке машины. Проблема, с которой я сталкиваюсь, заключается в том, что, несмотря на com.docker.service
служба запущена, серверная часть для Docker Desktop (я полагаю, WSL2) все еще готовится.
Я могу вручную воссоздать это поведение, запустив докер версия
или подобное при запуске системы. Он покажет:
ошибка во время подключения: в конфигурации демона по умолчанию в Windows клиент Docker должен запускаться с повышенными привилегиями для подключения.: Получите «http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.24/containers/json»: open //./pipe/docker_engine: Система не может найти указанный файл.
Однако через пару минут (после запуска бэкенда) команда начнет работать:
Клиент:
Облачная интеграция: v1.0.22
Версия: 20.10.11
Версия API: 1.41
Версия Go: go1.16.10
Коммит Git: dea9396
Построен: Чт 18 Ноя 00:42:51 2021
ОС/архив: windows/amd64
Контекст: по умолчанию
Экспериментальный: правда
Как я могу надежно дождаться готовности Docker Desktop, прежде чем пытаться запускать контейнеры? Я подозреваю, что решение может заключаться в ожидании файла канала или аналогичного, а не службы.