Oprettelse af et dockerbillede til Windows, der kræver udførelse af installationsprogrammer

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg arbejder på et dockerbillede til Windows. Dette billede er baseret på microsoft/nanoserver-billedet. Et par forskellige komponenter skal installeres i billedet, så beholdere, der er fremstillet af det, behøver ikke at installere disse komponenter mere. Nå, jeg tror, ​​at det er formålet med hvert dockerbillede.


Men mit spørgsmål er: hvordan går det til en Windows Docker-billede og Windows-installationsprogrammer? Faktisk har installationsprogrammerne til Windows en GUI, der kræver, at brugeren interagerer med installationsprogrammet og giver forskellige oplysninger. I tilfælde af Ubuntu synes det at være lettere, da jeg bare kører apt-get install , og jeg kan hente binære filer og installere dem nemt.


Mere specifikt Jeg spørger mig selv:



  • Jeg så, at nogle Windows-opsætninger har noget som en tavs eller stille -skifte. Men jeg antager, at jeg ikke kan antage, at dette er en Windows-funktion, og hver setup.exe har sådan denne switch, right? Det afhænger nok, om skaberen af ​​opsætningen inkluderede denne mulighed eller ej.

  • Hvordan starter jeg endda et installationsprogram på Windows ved hjælp af PowerShell? Er det bare kommandoen setup.exe eller er det Start-Process setup.exe eller ...?



Tak på forhånd for din hjælp & Med venlig hilsen

Bedste reference



  Men jeg antager, at jeg ikke kan antage, at dette er en Windows-funktion, og hver setup.exe har sådan denne switch, ikke?



Nej, men alle pakker jeg har oplevet indtil nu understøtter det på en eller anden måde.



  Hvordan starter jeg endda et installationsprogram på Windows ved hjælp af PowerShell? Er det bare kommandoen setup.exe eller er det Start-Process setup.exe



Se dette problem for detaljer: https://github.com/docker/docker/issues/30395#issuecomment-274933963[2]


Jeg bruger generelt Start-Process -FilePath 'installer.exe' -ArgumentList 'arg1', 'arg2' -Wait


Chocolatey kan også være til brug: https://github.com/StefanScherer/dockerfiles-windows/tree/master/chocolatey[3]