0

dotnet/sdk/5 を使用した DockerFile は $PATH に cmd 実行可能ファイルがないと言いますが、 /dotnet/framework/sdk:4.8 を使用すると正常に動作します

Dockerfile には .net Framework 4.8 (mcr.microsoft.com/dotnet/framework/sdk:4.8) が含まれており、VS ビルド ツールもインストールされます。

これはうまくいきます。

現在の要件は、4.8 dotnet/sdk:5.0 の代わりに .net 5.0 SDK を使用するようにアップグレードすることです。

DockerFile は以下のとおりです。

#FROM mcr.microsoft.com/dotnet/framework/sdk:4.8
 FROM mcr.microsoft.com/dotnet/sdk:5.0

# Restore the default Windows shell for correct batch processing.
SHELL ["cmd", "/S", "/C"]

# Download the Visual Studio Build Tools bootstrapper.
ADD https://aka.ms/vs/16/release/vs_buildtools.exe C:\Temp\vs_buildtools.exe

# Use the latest release channel.
ADD https://aka.ms/vs/16/release/channel C:\Temp\VisualStudio.chman
# Set up environment to collect install errors.
COPY Install.cmd C:\Temp\
ADD https://aka.ms/vscollect.exe C:\Temp\collect.exe

# Modify MSVC C++ compiler, CMake, and MSBuild.
RUN c:\Temp\Install.cmd C:\Temp\vs_buildtools.exe modify `
    --quiet --wait --norestart --nocache `
    --installPath "C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools" `
    --channelUri C:\Temp\VisualStudio.chman `
    --installChannelUri C:\Temp\VisualStudio.chman `
    --add Microsoft.VisualStudio.Workload.ManagedDesktopBuildTools;includeRecommended `
    --add Microsoft.VisualStudio.Workload.VCTools;includeRecommended `
    --add Microsoft.Component.MSBuild `
    --add Microsoft.VisualStudio.Component.VC.ATLMFC

# Start developer command prompt with any other commands specified.
WORKDIR /src
ENTRYPOINT ["powershell.exe", "-NoLogo", "-ExecutionPolicy", "Bypass"]

私が得ているエラーは

container_linux.go:380: starting container process caused: exec: "cmd": executable file not found in $PATH

私の Docker デスクトップは WSL2 を使用し、インストールされている Linux ディストリビューションは Ubuntu 20.04 LTS です

4

0 に答える 0