Docker は VM 上の Windows Server 2016 でイメージを抽出するのに時間がかかりすぎる

Docker は VM 上の Windows Server 2016 でイメージを抽出するのに時間がかかりすぎる

特に docker を使用する場合、Hyper-V WS2016 VM で問題が発生します。

最近、Intel Xeon E5-2620 v4 CPU を搭載したホストに Windows Server 2016 仮想マシンをいくつかインストールしました。マシンごとに 2 ~ 3 個の vCPU を割り当てました。ホストはサード パーティ製で、Hyper-V マネージャーに直接アクセスすることはできません。問題は、CPU 使用率が 10% 未満であっても、時々動作が遅くなり、フリーズすることさえあることです。これより高くなることはほとんどありません。

VM の 1 つで Windows 用の Docker コンテナーを使用したいと考えています。ただし、Docker はイメージの抽出に時間がかかりすぎて、ファイル読み取りエラーで致命的な終了をします。ダウンロード プロセスはそれほど時間がかかりませんが、問題は抽出にあります。ビルドで使用しているイメージは、公式の windowsservercore イメージです。さまざまなタグで試しました。リポジトリから取得した小さなテスト プロジェクトの出力は次のとおりです。

https://i.stack.imgur.com/2m5qz.jpg

これは iss:windowsservercore イメージを使用していますが、他のタグでも同じ問題が発生しました。不思議なことに、nanoserver を使用した公式の hello-world プロジェクトは実行できます。ただし、これも抽出と実行に時間がかかりすぎます。

また、2 台の VM で Windows を更新しようとしました。そのうちの 1 台は Docker を使用する予定の VM で、もう 1 台は使用しません。前者は更新ステータス画面で更新に問題があることが通知されますが、後者は再起動フェーズで停止しており、リモート デスクトップ経由でサインインしているときに画面に「再起動中」としか表示されません。

これらは WS16 と、Hyper-V が WS16 イメージを実行する方法、または Hyper-V 設定に問題があるのではないかと考えています。また、WS2012 で VM も使用していますが、問題なく実行されています。プログラムのインストールは比較的高速で、ディスクは SSD で、すべてのマシンに十分な空き領域があるにもかかわらず、イメージの抽出が読み取りエラーで失敗しているため、ハード ドライブが別の原因であると思われます。

これはプロセッサの割り当てに問題があるのでしょうか? 考えられる場合は、サーバー プロバイダーに VM 設定を調整するように依頼する必要がありますか? ネストされた仮想化が有効になっていないために問題が発生していると思いましたが、"hello-world" イメージと、Windows NanoServer を含む別のイメージを取得して実行できました。

よろしくお願いします :)

関連情報