2016-11-03 10 views
5

AWS「Windows Server 2016 Base Containers」イメージ(ami-5e6bce3e)を使用しています。Windows IIS Dockerコンテナで対話セッションを開始できません

docker infoを使用して、最新の(サーバーバージョン:1.12.2-cs-ws-beta)があることを確認できます。

docker run -it microsoft/windowsservercore cmd 

私は、「マイクロソフト/ IISを実行しようとすると:私は成功した容器にCMDに接続し、対話モードでの「Microsoft/windowsservercore」コンテナを実行することができますPowerShellの(管理者として実行している)から

私はIISに(ブラウザ経由で)接続することができますが、コンテナ内のインタラクティブなCMDセッションには決して接続しません。私ができる、

サービス 'W3SVC' は、他のPowerShellウィンドウを使用して

を開始しました::

docker container ls 
を...と見

docker run -it -p 80:80 microsoft/iis cmd 

代わりに、私は単純に取得します私のコンテナが走っている。

ロックアップを試みても返さない。

私は以来、地域を切り替えてそれぞれの領域に異なるAMIさんがあることを発見した:

  • たち-東-1:AMI-d08edfc7
  • 米国西部-2:AMI-5e6bce3e

...これらの両方に同じ結果があります。使用

関連リンク:

更新

次のリンクを使用して、私は自分を作成することができましたDockerfileは、サーバーベースに基づいて、IISをインストールし、これはうまくいくようです。

custom Dockerfile

答えて

10

これは、AWS AMIの問題ではありません、それはマイクロソフトIIS Dockerfileがドッカーに新しいもの/書かれた方法によるものでした。

Link to Microsoft's IIS DockerFile

最後の行(7行目):このDockerfileはENTRYPOINTを使用しているため

Difference between CMD and ENTRYPOINT

ENTRYPOINT ["C:\\ServiceMonitor.exe", "w3svc"] 
だから、インタラクティブPowerShellセッションを起動するには、次のコマンドを使用します。

docker run --entrypoint powershell -it -p 80:80 microsoft/iis 

"--entrypoint" フラグが、これは動作しませんよう、実行後にする必要があることをEMS:

docker run -it -p 80:80 microsoft/iis --entrypoint powershell 

Here is another reference link regarding ENTRYPOINT and CMD differences

関連する問題