更新 3 (解決策):
ホストに最新の Windows 更新プログラムをインストールし、更新された Windows Server バージョンと一致する正確な servercore イメージを指定しました。
mcr.microsoft.com/windows/servercore:10.0.17763.973
コンテナを実行すると、すべてが期待どおりに機能しました。
元の質問:
Windows Server 2019 で実行されているコンテナーでnginxが起動しない理由がわかりません。
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:
トラブルシューティング プロセスの一環として、Azure でクリーンな VM を起動し、Docker をインストールしてまったく同じファイルを使用して Docker イメージを再作成した後、期待どおりに起動しました。
これは、問題が私のサーバーに固有のものであり、一般的な問題ではないことを意味します。
更新 2:
--rm
run コマンドから を削除するとdocker ps -a
、コンテナーの終了後に実行することで次の情報が見つかります。
終了しました (3221225785) 4 秒前
終了コードの意味に関する情報が見つかりません。