Score:1

การติดตั้ง MSI ไปยัง ASP.NET Core App Service Windows Container

ธง cn

ฉันกำลังพยายามใช้ Visual Studio 2019 เพื่อพัฒนาแอป ASP.NET Core 3.1 ที่ทำงานบน Docker สำหรับ Windows ฉันมีปัญหาเล็กน้อยกับเรื่องนี้ ฉันต้องโฮสต์อุปกรณ์ปลายทางเพื่อเริ่มและหยุดบริการและให้ข้อมูลการตรวจสุขภาพ บริการได้รับการติดตั้งจาก MSI บุคคลที่สาม (ฉันต้องการเพียงแค่คัดลอกไฟล์ แต่เราไม่ต้องการเรียกใช้โดยไม่รองรับ รวมทั้งไฟล์และการเปลี่ยนแปลงรีจิสทรี) อิมเมจพื้นฐาน (dotnet/sdk, /core และ /aspnet) ใช้เซิร์ฟเวอร์นาโน ดังนั้นจึงไม่รองรับ MSI/msiexec ฉันได้ลองใช้รูปภาพจำนวนมากเพื่อค้นหารูปภาพที่รองรับ ASP.Net Core และ msiexec (เซิร์ฟเวอร์คอร์) แต่ดูเหมือนว่าจะมีเฉพาะรูปภาพขนาดใหญ่เท่านั้นที่เหมาะกับความต้องการของเรา (8+ GB เทียบกับ <500MB สำหรับรูปภาพนาโน) มีความเป็นไปได้อื่นที่นี่หรือไม่? ณ จุดนี้ ฉันไม่สามารถแม้แต่จะสร้างให้ทำงานอย่างสม่ำเสมอ ไฟล์จะสร้างแต่ไม่ได้อยู่ในอิมเมจสุดท้าย และถ้าพวกเขาสร้างมันขึ้นมา ฉันก็ดูเหมือนจะไม่โดนมัน (ลองพอร์ต 80/443, 5000/5001 หรือพอร์ตจริงที่เปิดเผย Docker กับ localhost หรือ IP ของคอนเทนเนอร์ ที่อยู่). เริ่มจะน่าหงุดหงิดแล้วสิ! ฉันชอบความช่วยเหลือใด ๆ

  1. การค้นหารูปภาพที่มีขนาดเหมาะสมที่รองรับ ASP.net Core 3.1 และ msiexec
  2. สร้างกระบวนการเพื่อเผยแพร่และคัดลอกไฟล์ไปยังภาพสุดท้ายอย่างเหมาะสม
  3. บริการสามารถเข้าถึงได้จากภายนอกคอนเทนเนอร์

ไฟล์นักเทียบท่าปัจจุบัน:

จากฐาน mcr.microsoft.com/dotnet/framework/runtime:4.8-windowsservercore-ltsc2019 AS

เวิร์คดีอาร์ /app
เปิดเผย 80
เปิดเผย 443

#ติดตั้งดอทเน็ต
เพิ่ม https://download.visualstudio.microsoft.com/download/pr/c37ece76-1305-4042-a9e6-58e7cb1b0bf6/75c20ff59335e370985b4f03fa637fcb/aspnetcore-runtime-3.1.18-win-x64.exe /symedical/
เพิ่ม https://download.visualstudio.microsoft.com/download/pr/7d09d7c0-8902-4467-9268-d7f584923cde/eddcb12257e68b030bc1b4baf9a68681/dotnet-runtime-3.1.18-win-x64.exe /symedical/

RUN C:/symedical/aspnetcore-runtime-3.1.18-win-x64.exe /ติดตั้ง /เงียบ /norestart && \
    C:/symedical/dotnet-runtime-3.1.18-win-x64.exe /ติดตั้ง /เงียบ

ARG InstallerSrc="dist/installers/ThirdPartyClientServices.msi"
ARG InstallerDest="/ติดตั้ง/"
เพิ่ม ${InstallerSrc} ${InstallerDest}

ARG InstallerSrc="dist/scripts/"
เพิ่ม ${InstallerSrc} ${InstallerDest}

RUN powershell -file "c:\dist\scripts\install-msi.ps1"
######

จาก mcr.microsoft.com/dotnet/sdk:3.1 AS build
เวิร์คดีอาร์ /src
สำเนา ["Distribution/Distribution.csproj", "Distribution/"]

RUN dotnet กู้คืน "Distribution/Distribution.csproj"
สำเนา .
WORKDIR "/src/การกระจาย"
RUN dotnet สร้าง "Distribution.csproj" -c Release -o /app/build

จาก build AS เผยแพร่
RUN dotnet เผยแพร่ "Distribution.csproj" -c Release -o /app/publish

จากฐานเป็นขั้นสุดท้าย
เวิร์คดีอาร์ /app
COPY --from=publish /app/publish

จุดเข้าใช้งาน ["ดอทเน็ต", "Distribution.dll"]

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา