ОБНОВЛЕНИЕ 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 не могу найти никакой информации о том, что означает код выхода.