पर डॉकराइज एएसपी क्लासिक विंडोज़ विंडोज़ पर डॉकर चलाने में निवेश कर रहा है। क्या आईओएस पर डॉकर के माध्यम से विरासत एएसपी क्लासिक एप्लिकेशन चलाने के लिए संभव है? कैसे?आईआईएस
https://hub.docker.com/r/microsoft/iis/
पर डॉकराइज एएसपी क्लासिक विंडोज़ विंडोज़ पर डॉकर चलाने में निवेश कर रहा है। क्या आईओएस पर डॉकर के माध्यम से विरासत एएसपी क्लासिक एप्लिकेशन चलाने के लिए संभव है? कैसे?आईआईएस
https://hub.docker.com/r/microsoft/iis/
मुझे अंततः यह सब काम मिल गया। यह एक साधारण डॉकरफाइल चलाने से कहीं अधिक जटिल था, क्योंकि यह मूल रूप से 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
मैंने कोशिश नहीं की है, लेकिन यह क्लासिक एएसपी को चलाने के लिए एक मुद्दा नहीं होना चाहिए। microsoft/iis
छवि microsoft/windowsservercore
छवि से आधारित है, जो एक पूर्ण सर्वर कोर स्थापित है, और इसमें 32-बिट समर्थन भी शामिल है।
एएसपी सुविधा डिफ़ॉल्ट रूप से वहाँ नहीं होगा, तो अपने Dockerfile इस तरह शुरू करने के लिए होगा:
# escape=`
FROM microsoft/iis
SHELL ["powershell", "-command"]
RUN Install-WindowsFeature Web-ASP
(escape
और SHELL
लाइनों सिर्फ यह आसान विंडोज friendy Dockerfiles निर्माण करने के लिए बनाने के लिए, को देखने के Windows, Dockerfiles and the Backtick Backslash Backlash)।
फिर आप अपने एएसपी ऐप फ़ोल्डर में COPY
करेंगे, और अपने शेष आईआईएस सेटअप को PowerShell कमांड के साथ चलाएं। This question में कुछ अच्छे पॉइंटर्स हैं, और this Dockerfile for an ASP.NET app दिखाता है कि आप वेबसाइटों को कॉन्फ़िगर करने के लिए PowerShell का उपयोग कैसे कर सकते हैं।
बहुत बढ़िया कोशिश करने के लिए, लेकिन एक नई समस्या से टकराने के प्यार होता - डोकर हब पर windowsservercore छवि दूषित हो रहा है - दो मशीन और दो नेटवर्क पर की कोशिश की लेकिन इसे सफलतापूर्वक डाउनलोड नहीं करता है :( –
' ➜ डोकर माइक्रोसॉफ्ट खींच/windowsservercore का उपयोग डिफ़ॉल्ट टैग: नवीनतम नवीनतम: माइक्रोसॉफ्ट से खींच/windowsservercore 9c7f9c7d9bc2: 9 सेकंड में पुन: प्रयास किया de5064718b3f: 10 सेकंड ' और अंत में" अज्ञात ब्लॉब " –
क्योंकि आप केवल खिड़कियों चला सकते हैं यह अनुमान में पुनः प्रयास किया कंटेनर विंडोज़ पर :( –