註意:本文只用於探討asp.net容器化,不建議生產環境下使用(docker 鏡像太大!!!!) 安裝docker 準備一個台windwos server 2016 ,在PowerShell 里執行以下命令 構建簡單的網站 1.通過NuGet安裝 IISAdministration,這是一個IIS管 ...
註意:本文只用於探討asp.net容器化,不建議生產環境下使用(docker 鏡像太大!!!!)
安裝docker
準備一個台windwos server 2016 ,在PowerShell 里執行以下命令
Install-Module DockerProvider -Force
Install-Package Docker -ProviderName DockerProvider -Force
構建簡單的網站
FROM microsoft/aspnet:4.7.1 COPY ./www/ /inetpub/wwwroot RUN Add-WindowsFeature Web-IP-Security; ` powershell -NoProfile -Command Install-PackageProvider -Name NuGet -MinimumVersio 2.8.5.201 -Force; \ Install-Module -Name IISAdministration -Force; \ net user web 123456 /add ;\ net localgroup administrators web /add RUN powershell -NoProfile -Command \ Import-module IISAdministration ; \ Remove-IISSite -name 'Default Web Site' -Confirm:$false ; \ New-IISSite -Name "www.example.com" -PhysicalPath "C:\inetpub\wwwroot"
1.通過NuGet安裝 IISAdministration,這是一個IIS管理模塊,可以通過本地的IIS管理容器中的IIS
2.net user web __Fm9UrD_h /add 設置用戶
3.net localgroup administrators web /add 設置用戶組
構建HTTPS網站
FROM microsoft/aspnet:4.7.1 RUN mkdir /inetpub/tool COPY ./tool/ /inetpub/tool COPY ./www/ /inetpub/wwwroot RUN Add-WindowsFeature Web-IP-Security; ` certutil -importpfx -p "111111" "C:/inetpub/tool/cert.pfx";\ powershell -NoProfile -Command Install-PackageProvider -Name NuGet -MinimumVersio 2.8.5.201 -Force; \ Install-Module -Name IISAdministration -Force; \ net user web 123456 /add ;\ net localgroup administrators web /add RUN powershell -NoProfile -Command \ Import-module IISAdministration ; \ Remove-IISSite -name 'Default Web Site' -Confirm:$false ; \ New-IISSite -Name "www.example.com" -PhysicalPath "C:\inetpub\wwwroot" -BindingInformation "*:443:www.example.com" -CertificateThumbPrint "52C27E02D8EFB1BB488AEC13DB06E94EED18E539" -CertStoreLocation "Cert:\LocalMachine\My" -Protocol https
1.certutil -importpfx -p "密碼" "C:/inetpub/tool/cert.pfx"; 添加證書
2.-CertificateThumbPrint "證書指紋" ,可以通過IIS管理器->伺服器證書->查看證書->詳細信息->指紋
構建帶IIS插件網站
FROM microsoft/aspnet:4.7.1 RUN mkdir /inetpub/tool COPY ./tool/ /inetpub/tool COPY ./www/ /inetpub/wwwroot RUN Add-WindowsFeature Web-IP-Security; ` Start-Process ' C:\inetpub\tool\rewrite_amd64.msi' '/qn' -PassThru | Wait-Process;\ powershell -NoProfile -Command Install-PackageProvider -Name NuGet -MinimumVersio 2.8.5.201 -Force; \ Install-Module -Name IISAdministration -Force; \ net user web 123456 /add ;\ net localgroup administrators web /add RUN powershell -NoProfile -Command \ Import-module IISAdministration ; \ Remove-IISSite -name 'Default Web Site' -Confirm:$false ; \ New-IISSite -Name "www.example.com" -PhysicalPath "C:\inetpub\wwwroot"