Installare .NET Framework 3.5 su Windows Server Core Docker

Sto lottando per installare .NET Framework 3.5 sul contenitore docker. Ho già installato 4.5, ma ho bisogno di 3.5 per eseguire un servizio. Ecco il mio Dockerfile:

FROM microsoft/windowsservercore SHELL ["powershell"] RUN Install-WindowsFeature NET-Framework-45-ASPNET ; \ Install-WindowsFeature Web-Asp-Net45 RUN dism /online /enable-feature /featurename:NetFX3 /all COPY Startup Startup COPY Service Service RUN "C:\Windows\Microsoft.NET\Framework\v4.0.30319\installutil.exe" WCS.WindowsService.exe RUN mkdir Temp\Logs ENTRYPOINT C:\Startup\setupBatch.bat COPY ContainerApi ContainerApi RUN Remove-WebSite -Name 'Default Web Site' RUN New-Website -Name 'ContainerApi' -Port 80 \ -PhysicalPath 'C:\ContainerApi' -ApplicationPool '.NET v4.5' EXPOSE 80 CMD ["ping", "-t", "localhost"] 

Quando cerco di build questo, mi dà errore sulla linea RUN dism

Errore: 0x800f081f

I file di origine non sono stati trovati.
Utilizzare l'opzione "Origine" per specificare la posizione dei file necessari per ripristinare la funzionalità. Per ulteriori informazioni sulla specifica di una posizione di origine, vedere http://go.microsoft.com/fwlink/?LinkId=243077 .

Ora, anche se dism /online /enable-feature /featurename:NetFX3 /all all'interno del docker (exec docker), mi resterà ancora lo stesso errore.

Chiunque con qualsiasi aiuto?

Ho risolto il seguente problema per risolvere i problemi seguenti:

  1. Hai preso il file ISO di Windows Server 2016 Core. Montato il file sul computer locale.
  2. Estrai la cartella {mount}: / sources / sxs in un file zip (sxs.zip). Assicurarsi che il file di cab di .NET Framework 3.5 (microsoft-windows-netfx3-ondemand-package.cab) sia presente nella cartella sxs. Nel mio caso, questo era l'unico file presente nella cartella sxs.

cartella sxs

  1. Copia il file sxs.zip nel mio contenitore. L'ho copiata usando il file dockerfile dell'image.
  2. Disimballare il file nella cartella C: \ sources \ sxs nel contenitore.
  3. Utilizzato il command install-WindowsFeature powershell per installare la funzionalità.

    Install-WindowsFeature -Name NET-Framework-Funzioni -Source C: \ sources \ sxs -Verbose installare il comando

Spero che questo ti aiuti. Ho anche trovato il seguente blog utile per comprendere le caratteristiche on-demand. https://blogs.technet.microsoft.com/askcore/2012/05/14/windows-8-and-net-framework-3-5/