Почему nginx не запускается в Windows Сервер 2019 docker контейнер? - PullRequest
0 голосов
/ 27 февраля 2020

ОБНОВЛЕНИЕ 3 (решение):

Я установил последние обновления Windows на свой хост и указал точный образ servercore, соответствующий моему обновленному Windows Версия сервера:

mcr.microsoft.com/windows/servercore:10.0.17763.973

При запуске контейнера все работало как положено.

Оригинальный вопрос:

Не могу понять, почему nginx не запускается в моем контейнере, работающем на Windows Server 2019.

Ничего не записывается в nginx error.log и проверка системного события с использованием этого ответа не предоставляет никакой информации относительно nginx.

Когда я запускаю nginx непосредственно на сервере (т.е. без контейнера), он запускается нормально.

Вот содержимое файла dockerfile:

FROM mcr.microsoft.com/windows/servercore:ltsc2019
WORKDIR C:/nginx
COPY /. ./
CMD ["nginx"]

Я запускаю контейнер с помощью следующей команды:

docker run -d --rm -p 80:80 --name nginx `
-v C:/Data/_config/nginx/conf:C:/nginx/conf `
-v C:/Data/_config/nginx/temp:C:/nginx/temp `
-v C:/Data/_config/nginx/logs:C:/nginx/logs `
nginx-2019

Если я exec в работающий контейнер, я вижу, что структура каталога выглядит как ожидается:

Microsoft Windows [Version 10.0.17763.1040]
(c) 2018 Microsoft Corporation. All rights reserved.

C:\nginx>dir
 Volume in drive C has no label.
 Volume Serial Number is 72BD-907D

 Directory of C:\nginx

02/27/2020  06:05 AM    <DIR>          .
02/27/2020  06:05 AM    <DIR>          ..
02/27/2020  06:05 AM    <DIR>          conf
02/27/2020  05:11 AM    <DIR>          contrib
02/27/2020  05:11 AM    <DIR>          docs
02/27/2020  05:11 AM    <DIR>          html
02/27/2020  05:55 AM    <DIR>          logs
02/27/2020  05:14 AM    <DIR>          conf
01/21/2020  03:30 PM         3,712,512 nginx.exe
01/21/2020  04:41 PM    <DIR>          temp
               1 File(s)      3,716,608 bytes
               9 Dir(s)  21,206,409,216 bytes free

ОБНОВЛЕНИЕ 1:

Как часть моей проблемы bleshooting process Я запустил чистую виртуальную машину на Azure и после установки Docker и воссоздания образа Docker с использованием тех же файлов, он запускается, как и ожидалось.

Это означает, что проблема указана c для моего сервера, а не является общей проблемой.

ОБНОВЛЕНИЕ 2:

При удалении --rm из команды запуска Я нахожу следующую информацию, запустив docker ps -a после выхода из контейнера:

Выход (3221225785) 4 секунды a go

I не могу найти никакой информации о том, что означает код выхода.

1 Ответ

1 голос
/ 28 февраля 2020

У меня была та же проблема, но для меня это не было docker или nginx, это было изображение. Изображение mcr.microsoft.com/windows/servercore:ltsc2019 было обновлено 2/11/2020, и оба контейнера и хоста должны иметь одинаковое обновление (я думаю, что это KB4532691), иначе некоторые процессы могут завершиться сбоем без вывода сообщений.

Я обновил свой хост, и все хорошо.

См. microsoft- windows -servercore и , с которыми вы можете столкнуться при использовании- windows -server-Containers-with-t для получения дополнительной информации

...