Puncte:1

Instalarea MSI în ASP.NET Core App Service Windows Container

drapel cn

Încerc să folosesc Visual Studio 2019 pentru a dezvolta o aplicație ASP.NET Core 3.1 care rulează în Docker pentru Windows. Am câteva probleme cu asta. Trebuie să găzduiesc un punct final pentru a porni și opri un serviciu și pentru a oferi informații despre verificarea stării de sănătate. Serviciile sunt instalate de la un MSI terță parte (mi-ar plăcea să copiez fișiere, dar nu vrem să-l rulăm neacceptat, plus fișierele și modificările din registru). Imaginile de bază (dotnet/sdk, /core și /aspnet) se bazează pe Nano Server, așa că nu acceptă MSI/msiexec. Am încercat un număr mare de imagini pentru a găsi una care acceptă ASP.Net Core plus msiexec (Server Core), dar se pare că doar imaginile mari se potrivesc nevoilor noastre (8+ GB vs <500MB pentru cele Nano). Există o altă posibilitate aici? În acest moment, nici măcar nu pot face ca build să funcționeze constant. Fișierele se vor construi, dar nu vor ajunge în imaginea finală și, dacă ajung, nu pot să le lovesc (încercând porturile 80/443, 5000/5001 sau porturile reale expuse Docker, cu localhost sau IP-ul containerului abordare). Devine destul de frustrant! Mi-ar plăcea orice ajutor.

  1. Găsirea unei imagini de dimensiuni rezonabile care acceptă ASP.net Core 3.1 și msiexec
  2. Procesul de compilare pentru a publica și a copia corect fișierele în imaginea finală
  3. Serviciul să fie accesibil din exteriorul containerului.

Dockerfile curent:

DE LA mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 AS de bază

WORKDIR /app
EXPUNEREA 80
EXPUNEREA 443

# INSTALAȚI dotnet
ADAUGĂ https://download.visualstudio.microsoft.com/download/pr/c37ece76-1305-4042-a9e6-58e7cb1b0bf6/75c20ff59335e370985b4f03fa637fcb/aspnetwins-exe-/6-runtime-3.1.medicy.
ADAUGĂ https://download.visualstudio.microsoft.com/download/pr/7d09d7c0-8902-4467-9268-d7f584923cde/eddcb12257e68b030bc1b4baf9a68681/dotnet-1468/exe/dotnet-14-runtime-3winys.

RUN C:/symedical/aspnetcore-runtime-3.1.18-win-x64.exe /install /quiet /norestart && \
    C:/symedical/dotnet-runtime-3.1.18-win-x64.exe /install /quiet

ARG InstallerSrc="dist/installers/ThirdPartyClientServices.msi"
ARG InstallerDest="/install/"
ADAUGĂ ${InstallerSrc} ${InstallerDest}

ARG InstallerSrc="dist/scripts/"
ADAUGĂ ${InstallerSrc} ${InstallerDest}

RUN powershell -fișier „c:\dist\scripts\install-msi.ps1”
######

DE LA mcr.microsoft.com/dotnet/sdk:3.1 AS build
WORKDIR /src
COPY [„Distribution/Distribution.csproj”, „Distribution/”]

RUN dotnet restaurare „Distribution/Distribution.csproj”
COPIE . .
WORKDIR „/src/Distribution”
RUN dotnet build „Distribution.csproj” -c Release -o /app/build

FROM build AS publish
RUN dotnet publish „Distribution.csproj” -c Release -o /app/publish

DE LA baza AS finala
WORKDIR /app
COPY --from=publish /app/publish .

ENTRYPOINT [„dotnet”, „Distribution.dll”]

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.