Blog

Marcel de Vries

Marcel de Vries

Aktualisiert Oktober 21, 2025
2 Minuten

In meinem vorherigen Beitrag über die Bereitstellung von ASP.NET 4.5 auf Docker unter Windows habe ich vergessen zu erwähnen, dass Sie bei der Ausführung von webdeploy auf ein Problem stoßen könnten.

Julian Perrott hat meinen Beitrag kommentiert und gefragt, ob dies ein Problem ist. Ich denke, es ist ein Problem und die Installation wird nicht korrekt abgeschlossen. Aber auch dafür gibt es eine einfache Lösung. Sie können ein kleines PowerShell-Skript zu Ihrem Docker-Image hinzufügen und dieses nach dem ersten Versuch, die Website zu installieren, ausführen. Im nächsten Schritt führen Sie dann das Skript aus, um die ACLs zu korrigieren, und starten dann erneut Web Deploy. Ich habe dies noch nicht mit den neuesten Windows Server 2016 Bits ausprobiert, aber mit der Technical Preview 5 hat es wunderbar funktioniert.

Sie benötigen das folgende Skript, um die ACLs zu reparieren:

$pfad = "C:inetpubwwwrootMvcMusicStore_deploy"
$acl = Get-Acl $Pfad
Set-Acl $Pfad $acl

Dieses Skript tut nichts weiter, als die ACL auf dem Pfad zu erhalten und sie dann wieder anzuwenden. Dadurch wird Windows die ACL korrigieren und sie wieder in kanonische Form bringen.

Sie können dies zu Ihrem Dockerfile hinzufügen und es zum Bestandteil Ihrer Standardinstallation einer Website in Ihrer Release-Pipeline machen.

FROM windowsserveriisaspnetwebdeploy
RUN mkdir c:webapplication
WORKDIR /webapplication
ADD fixAcls.ps1 /MvcMusicStore/fixAcls.ps1
ADD dockerdeploydemo.zip /webapplication/dockerdeploydemo.zip
ADD dockerdeploydemo.deploy.cmd /webapplication/dockerdeploydemo.deploy.cmd
ADD dockerdeploydemo.SetParameters.xml /webapplication/dockerdeploydemo.SetParameters.xml
RUN dockerdeploydemo.deploy.cmd, /Y
RUN powershell.exe -executionpolicy bypass .fixAcls.ps1
RUN dockerdeploydemo.deploy.cmd, /Y

Dies ist also nichts anderes als das Hinzufügen des kleinen PowerShell-Skripts zum Container und die Verwendung dieses Skripts in dem Schritt nach der Bereitstellung Ihrer Website

Hoffentlich hilft das!

Verfasst von

Marcel de Vries

Marcel is a key figure in the technology sector, serving as the co-founder and Global MD & CTO of Xebia Microsoft Services. He is deeply involved in advancing organizational capabilities to deploy software swiftly and securely, emphasizing the importance of innovation and productivity while maintaining compliance. Marcel is passionate about technology and continuous learning, often sharing his insights at leading industry events and through online courses on Pluralsight. Recognized for his contributions, Marcel has been honored with the Microsoft MVP award for over 17 consecutive years and is a Microsoft Regional Director since 2008. His expertise spans across Cloud Adoption Strategies, DevOps, and various cloud computing frameworks, making him a respected voice in the tech community.

Contact

Let’s discuss how we can support your journey.