Запускать пользовательский пакет в Windows после запуска демона Docker - PullRequest
0 голосов
/ 18 октября 2019

Я хотел бы запустить собственный скрипт, который устанавливает сеть докеров и запускает контейнер докеров (после настройки некоторых каталогов). Этот скрипт медленный, поэтому я бы хотел, чтобы он запускался при запуске компьютера, но только ПОСЛЕ запускающего демона docker.

Следуя приведенным здесь инструкциям Запуск пакетного файла при запуске Я могу легко создать командный файл и запустить его на Starutp, однако в настоящее время я получаю сообщение об ошибке:

docker network create --driver nat Ошибка MY-net во время подключения: сообщение http://%2F%2F.%2Fpipe%2Fdocker_engine/v1.40/networks/create: open //./pipe/docker_engine: Система не может найти указанный файл. В конфигурации демона по умолчанию в Windows для подключения должен быть запущен клиент Docker. Эта ошибка также может указывать на то, что демон docker не запущен.

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

Вопросы: возможно ли этов Windows запускается пакетный файл, чтобы как-то запустить мой пакетный файл последним (после того, как все остальные запуска были запущены, службы / демоны уже запущены)?

В качестве альтернативы, есть ли какой-нибудь хук, который позволил бы мне запустить какой-то пользовательский скрипт один разDocker Daemon запущен и работает.

Я запускаю Docker 19.0 в Windows 10. Мой Docker настроен для запуска при запуске, и демон работает без сбоев, так как я использую Docker Regaulraly, поэтому проблема, похоже, заключается вчто сценарий запускается до того, как демон docker будет полностью запущен.

1 Ответ

0 голосов
/ 22 октября 2019

Решение, предложенное @gerhard works, основное решение аналогично этому: https://superuser.com/questions/618210/how-to-make-a-batch-file-wait-for-a-process-to-begin-then-continue:

:search
REM CHECKING IF PROCESS IS RUNNING
tasklist|find "MyEXE"
IF %ERRORLEVEL% = 1 THEN (GOTO NOTfound)
TIMEOUT /T 1
GOTO search

:NOTfound
REM DO WORK
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...