2016-11-03 33 views
5

AWS "Windows Server 2016 Base with Containers" görüntüsü (ami-5e6bce3e) kullanıyorum.Windows IIS Docker kapsayıcısında etkileşimli oturum başlatılamıyor

docker info Kullanarak En son sürüme sahip olduğumu doğrulayabilirim (Sunucu Sürümü: 1.12.2-cs-ws-beta).

PowerShell itibaren

başarıyla kapta CMD bağlanırken, etkileşimli modda "microsoft/windowsservercore" konteyneri çalıştırabilirsiniz (Yöneticisi olarak çalışan): Ben "microsoft/IIS çalıştırma girişiminde

docker run -it microsoft/windowsservercore cmd 

"Etkileşimli modda konteyner, IIS'ye (tarayıcı aracılığıyla) bağlanabilsem de, hiçbir zaman kapsayıcıdaki etkileşimli CMD oturumuna bağlı değilim. Yapabilirim

Hizmeti 'W3svc' Başka Powershell penceresini kullanarak

başladı:

docker container ls 
... ve görün

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

Bunun yerine, basitçe olsun Kapsayıcım çalışıyor.

Kilitleri bağlamayı dener ve asla döndürmez.

O zamandan beri bölgeleri açık ve her bölgeye farklı AMI orada olduğunu bulmuşlardır:

  • bize-doğu-1: ami-d08edfc7
  • bize-batı-2: ami-5e6bce3e

... bunların ikisi de aynı sonuca sahiptir.

İlgili linkler kullandı:

Güncelleme

ben kendi oluşturmak başardı aşağıdaki bağlantıyı kullanarak Dockerfile, sunucu tabanını temel alıyor ve IIS'yi kuruyor ve bu iyi çalışıyor gibi görünüyor.

Bu AWS AMI en ile bir sorun değildir

custom Dockerfile

cevap

10

, Microsoft IIS Dockerfile Docker için yeni olan/yazılmıştır yolu kaynaklanıyordu.

Link to Microsoft's IIS DockerFile

Son satır (satır 7): Bu Dockerfile EntryPoint kullandığından

Difference between CMD and ENTRYPOINT

ENTRYPOINT ["C:\\ServiceMonitor.exe", "w3svc"] 
Yani, interaktif bir powershell oturumu başlatmak için aşağıdaki komutu kullanın:

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

"--entrypoint" bayrak bu gibi koşudan sonra olması gerektiğini ems çalışmaz:

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

Here is another reference link regarding ENTRYPOINT and CMD differences

İlgili konular