docker - आईआईएस पर एएसपी क्लासिक पर डॉकएरीज़ करें




asp-classic iis-7 (2)

आखिरकार मुझे यह सब काम मिल गया यह साधारण डॉकर्फफ़ाइल चलाने से बहुत अधिक जटिल था, क्योंकि यह एक साइट थी जिसे मूल रूप से 2002 में विकसित किया गया था। ऐसे मॉड्यूल थे जिन्हें डाउनलोड और इंस्टॉल किया जाना था, वेब। कॉन्फिग अनुभाग जिन्हें अनलॉक करने की आवश्यकता थी, और ओडीबीसी डेटा कनेक्शन बनाया जाना था मेरी अंतिम गोदी फ़ाइल इस तरह दिखती है - आशा है कि यह अगले व्यक्ति को मदद करता है!

# 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

माइक्रोसॉफ्ट खिड़कियों पर गोदी चलाने में निवेश कर रहा है। क्या डॉक के जरिए आईआईएस पर लीगेसी एएसपी क्लासिक अनुप्रयोग चलाया जा सकता है? कैसे?

https://hub.docker.com/r/microsoft/iis/


मैंने कोशिश नहीं की है, लेकिन क्लासिक एएसपी चलाने के लिए यह एक मुद्दा नहीं होना चाहिए। microsoft/iis छवि microsoft/iis छवि से आधारित है, जो एक पूर्ण सर्वर कोर इंस्टाल है, और 32-बिट समर्थन भी शामिल है।

एएसपी सुविधा डिफ़ॉल्ट रूप से नहीं होगी, इसलिए आपका डॉकरफ़ाइल इस तरह शुरू करना होगा:

# escape=`
FROM microsoft/iis
SHELL ["powershell", "-command"]
RUN Install-WindowsFeature Web-ASP

( escape और SHELL लाइनें सिर्फ विंडोज-मैत्री डॉकर्फफाइल बनाने में आसान बनाती हैं, विंडोज, डॉकरफाइल और बैकटीक बैकस्लैश बैकलैश देखें )।

उसके बाद आप अपने एएसपी ऐप फ़ोल्डर में COPY करेंगे, और शेष आईआईएस सेटअप को पावरशेफ कमांड के साथ चलाएं। इस प्रश्न के कुछ अच्छे संकेत दिए गए हैं, और ASP.NET ऐप के लिए यह Dockerfile दिखाती है कि आप वेबसाइटों को कॉन्फ़िगर करने के लिए PowerShell का उपयोग कैसे कर सकते हैं।







docker-for-windows