2017-01-10 11 views
7

Windowsサーバー2016でdockerを使用しています。「microsoft/windowsservercore:latest」イメージを使用してコンテナを作成しました。 このイメージでは "Print-Server"ロールをインストールしましたが、 "Get-Printer"コマンドレットを呼び出そうとすると、スプーラサービスでエラーが発生します。 これらは、問題を再現するために使用されるコマンドです:私は、エラーを受信したときにWindows 2016:Dockerコンテナエラー

docker run -d --name testspoolererror1 microsoft/windowsservercore:latest ping -t localhost 
docker exec -it testspoolererror1 powershell 
Install-WindowsFeature Print-Server 
Set-Service spooler -StartupType Automatic 
Start-Service spooler 
Get-Service spooler 
Get-Printer 

これは、次のとおりです。

Get-Printer : The spooler service is not reachable. Ensure the spooler service is running. At line:1 char:1 + Get-Printer + ~~~~~~~~~~~ + CategoryInfo : NotSpecified: (MSFT_Printer:ROOT/StandardCimv2/MSFT_Printer) [Get-Printer], CimException + FullyQualifiedErrorId : HRESULT 0x800706ba,Get-Printer In the event viewer i found the error: The Print Spooler service terminated unexpectedly. It has done this 2 time(s).

誰もがこの問題を解決するために私を助けることができますか?

+0

サンプルに問題があります。 'Get-Service spooler'はスプーラサービスが起動したことを示しますが、' Get-Printer'を実行した後にクラッシュします。 'Get-WinEvent'は、スプーラがクラッシュしたことを示しています。さらに、'印刷スプーラがプラグインモジュールWSDMon.dll、エラーコード0x7Eを読み込めませんでした。コンテキストのイベントユーザデータを参照してください。 ' – fons

答えて

-2
  • ドッカーが(デフォルトで)動作するネットワークは、ホストと同じネットワークではありません。

  • コンテナの内部からローカルホストにpingすることは、自分が行っていると思わないことです。

  • の方法を学ぶステップとしてドッカネットワーク1.

+0

すべてのコマンドがコンテナ内から実行されるため、問題がネットワークに関係しているとは思わないでください。さらに、 'ping'コマンドは単にコンテナの実行を継続させます。質問は私には完全に合法的だと思われる。 – Gene

1

私はあなたがこの問題を抱えていると私はあなたがそれを整理助けるために私ができる何をすべきかを喜んでいるよ聞いてごめんなさい。

docker run -it microsoft/windowsservercore:latest powershell 

(今)コンテナ内からPowerShellを実行している

:)徹底しているの便宜上

、私は、次のコマンドを実行して、自分自身を、これを試してみました
Install-WindowsFeature Print-Server 
Set-Service spooler -StartupType Automatic 
Start-Service spooler 
Get-Service spooler 
Get-Printer 

これらは私のシステムでエラーなく実行できました。だからそれはスタートです。

エラーから、スプーラサービスが開始されていないように見えます。 Get-Service spoolerを実行すると何が表示されますか?これらのコマンドをあなたのシステム上で実行しようとしますか?上にリストしたように、結果を報告してください。

また、明確にするために、コンテナからローカルホストにpingを実行するときに何をしようとしていますか?コンテナホストにpingしようとしていますか?

そして、あなたは、コンテナのネットワークは、Windows上でどのように動作するかの背景情報を探しているならサイドノートとして、ここで開始するには良い場所です:https://docs.microsoft.com/en-us/virtualization/windowscontainers/manage-containers/container-networking

--Kallie B.(プログラムマネージャ、Microsoftネットワークチーム)

+0

コマンドでテストしましたが、エラーがあります。Get-Printer:スプーラサービスにアクセスできません。スプーラを確認します。 "Get-Printer"コールの前後にスプーラサービスが実行されています。私は、ドッカー1.12とドッカー1.14-devを使って同じ結果を更新したWindows 2016 DataCenterをテストしました。 – bdn02

+0

同じ問題が... – craffael

+0

私はスコットと同じ問題を抱えています。 'Get-Service spooler'はスプーラが起動するのを示しますが、' Get-Printer'を実行するとクラッシュします。 'Get-WinEvent'は、スプーラがクラッシュしたことを示しています。さらに、'印刷スプーラがプラグインモジュールWSDMon.dll、エラーコード0x7Eを読み込めませんでした。コンテキストのイベントユーザデータを参照する ' – fons

-1

Kallieが上記の手順を実行することができたように思われる理由は、多分ホストされているためです。私はサーバー2016ボックスでDocker経由で上記の手順を試してみましたが、同じエラーが発生しました。 Windows 10のDockerで試したところ、スプーラを正常に起動して上記のコマンドを実行することができましたが、ドライバをインストールしても実際に有効にすることはできませんでした。 Pnputilは.infをインストールしようとすると奇妙な "No Data"エラーを投げます。

Server 2016でServer 2016 Coreをホストするときに使用されるネイティブコンテナの代わりにHyper-Vエミュレーションを使用しているため、Windows 10上で動作すると推測されます。また、ドライバがベースマシンから継承されていたServer 2016ではコンテナを作成しますが、Windows 10ではコンテナを作成しません。Dockerのエキスパートがこれをかなりよく理解していると思いますが、引き継がれたドライバーがクラッシュを引き起こしているようです。私はWindowsの専門家でもない。

いずれにしても、マイクロソフトが調査して解決しなければならないもののようです。

関連する問題