[英]Windows Docker: Issues installing Visual C++ Redistributable in Windows Docker
對此完全陌生.. 使用 .net 6.0。
嘗試將 vc_redist.x64 安裝到 windows docker 以使用命令行界面運行 windows exe。 在網上搜索想出了這個添加到 docker 文件,但未安裝 redist (盡管構建 output 顯示RUN vc_redist.x64.exe /install /quiet /norestart /log vc_redist.log
行執行沒有錯誤,我可以運行 exe。在 docker 圖像上,我找不到與 vc_redist 關聯的 dll。我做錯了什么?
FROM mcr.microsoft.com/windows/servercore:ltsc2019
ADD https://aka.ms/vs/16/release/vc_redist.x64.exe vc_redist.x64.exe
RUN vc_redist.x64.exe /install /quiet /norestart /log vc_redist.log
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["Directory/Project1.csproj", "Project1/"]
RUN dotnet restore "Directory/Project1.csproj"
COPY . .
WORKDIR "/src/Directory"
RUN dotnet build "Project1.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "Project1.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Project1.dll"]
我發現我可以使用以下代碼將其安裝到 docker 映像上:
SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
RUN [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12; `
Invoke-WebRequest "https://aka.ms/vs/17/release/vc_redist.x64.exe" -OutFile "vc_redist.x64.exe"; `
Start-Process -filepath C:\vc_redist.x64.exe -ArgumentList "/install", "/passive", "/norestart" -Passthru | Wait-Process; `
Remove-Item -Force vc_redist.x64.exe;
來源: https://github.com/microsoft/dotnet-framework-docker/issues/15
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.