Microsoft, docker'ı pencerelerde çalıştırmaya yatırım yapıyor. IIS'de Docker ile eski bir ASP Classic uygulaması çalıştırmak mümkün mü? Nasıl?Dockerize ASP Classic, IIS'de
https://hub.docker.com/r/microsoft/iis/
Microsoft, docker'ı pencerelerde çalıştırmaya yatırım yapıyor. IIS'de Docker ile eski bir ASP Classic uygulaması çalıştırmak mümkün mü? Nasıl?Dockerize ASP Classic, IIS'de
https://hub.docker.com/r/microsoft/iis/
Sonunda çalışıyorum. Aslen 2002'de geliştirilen bir site olduğu için basit bir Dockerfile'ı çalıştırmaktan çok daha karmaşıktı. Kilidi açılması gereken web.config bölümleri ve yüklenmesi gereken modüller vardı. yapılmalıydı. Son docker dosyam böyle görünüyordu - umarım bir sonraki kişiye yardım eder!
# escape=`
FROM microsoft/iis
SHELL ["powershell", "-command"]
RUN Install-WindowsFeature Web-ASP; `
Install-WindowsFeature Web-CGI; `
Install-WindowsFeature Web-ISAPI-Ext; `
Install-WindowsFeature Web-ISAPI-Filter; `
Install-WindowsFeature Web-Includes; `
Install-WindowsFeature Web-HTTP-Errors; `
Install-WindowsFeature Web-Common-HTTP; `
Install-WindowsFeature Web-Performance; `
Install-WindowsFeature WAS; `
Import-module IISAdministration;
RUN md c:/msi;
RUN Invoke-WebRequest 'http://download.microsoft.com/download/C/9/E/C9E8180D-4E51-40A6-A9BF-776990D8BCA9/rewrite_amd64.msi' -OutFile c:/msi/urlrewrite2.msi; `
Start-Process 'c:/msi/urlrewrite2.msi' '/qn' -PassThru | Wait-Process;
RUN Invoke-WebRequest 'https://download.microsoft.com/download/1/E/7/1E7B1181-3974-4B29-9A47-CC857B271AA2/English/X64/msodbcsql.msi' -OutFile c:/msi/msodbcsql.msi;
RUN ["cmd", "/S", "/C", "c:\\windows\\syswow64\\msiexec", "/i", "c:\\msi\\msodbcsql.msi", "IACCEPTMSODBCSQLLICENSETERMS=YES", "ADDLOCAL=ALL", "/qn"];
EXPOSE 8000
RUN Remove-Website -Name 'Default Web Site'; `
md c:\mywebsite; `
New-IISSite -Name "mywebsite" `
-PhysicalPath 'c:\mywebsite' `
-BindingInformation "*:8000:";
RUN & c:\windows\system32\inetsrv\appcmd.exe `
unlock config `
/section:system.webServer/asp
RUN & c:\windows\system32\inetsrv\appcmd.exe `
unlock config `
/section:system.webServer/handlers
RUN & c:\windows\system32\inetsrv\appcmd.exe `
unlock config `
/section:system.webServer/modules
RUN Add-OdbcDsn -Name "mywebsite" `
-DriverName "\"ODBC Driver 13 For SQL Server\"" `
-DsnType "System" `
-SetPropertyValue @("\"Server=XXXX.us-east-2.rds.amazonaws.com\"", "\"Trusted_Connection=No\"");
ADD . c:\mywebsite
Ben denemedim ama klasik ASP çalıştırmak için bir sorun olmamalı. microsoft/iis
resmi, tam Sunucu Çekirdeği yüklemesi olan ve ayrıca 32 bit destek içeren microsoft/windowsservercore
görüntüsünü temel alır. senin Dockerfile böyle başlamak zorunda diye
ASP özelliği, varsayılan olarak olmayacak:
# escape=`
FROM microsoft/iis
SHELL ["powershell", "-command"]
RUN Install-WindowsFeature Web-ASP
(escape
ve SHELL
hatları sadece daha kolay Windows friendy Dockerfiles oluşturulmasını kolaylaştıracak şekilde, bakınız Windows, Dockerfiles and the Backtick Backslash Backlash).
Ardından ASP uygulama klasörünüzde COPY
olmasını ve IIS kurulumunuzun geri kalanını PowerShell komutlarıyla çalıştırın. This question bazı iyi işaretçilere sahiptir ve this Dockerfile for an ASP.NET app web sitelerini yapılandırmak için PowerShell'i nasıl kullanabileceğinizi gösterir.
Müthiş çalışıyorum ama yeni bir sorun isabet isteriz - windowsservercore görüntü liman işçisi göbek üzerindeki bozuk gibi görünüyor - iki makine ve iki ağlarda çalıştı ama başarılı indirmez :( –
' ➜ liman işçisi microsoft çekin/windowsservercore kullanma varsayılan etiket: en son en son: microsoft Çekme/windowsservercore 9c7f9c7d9bc2: 9 saniye içinde yeniden denenecek de5064718b3f: 10 saniye ' ve sonunda "bilinmeyen blob" –
pencereleri çalıştırmak sadece çünkü o Sanırım içinde yeniden denenecek konteynerler windows :( –