我正在尝试为我们的Docker集群制作一个dotnet运行时镜像。我遵循了Microsoft的以下教程。
https://www.microsoft.com/net/core#linuxdebian
但是当我运行“dotnet新控制台-o hwapp”时
我得到“您是要运行dotnet SDK命令吗?请从以下位置安装dotnet SDK:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409“
以下是我的docker文件。
FROM "Our registry"
RUN apt-get update
RUN apt-get install curl libunwind8 gettext -y
#Installing DOTNET CORE SDK
ENV DOTNET_VERSION 1.1.1
ENV DOTNET_DOWNLOAD_URL `https://dotnetcli.blob.core.windows.net/dotnet/release/1.1.0/Binaries/$DOTNET_VERSION/dotnet-debian-x64.$DOTNET_VERSION.tar.gz`
RUN curl -SL $DOTNET_DOWNLOAD_URL --output dotnet.tar.gz \
&& mkdir -p /usr/share/dotnet \
&& tar -zxf dotnet.tar.gz -C /usr/share/dotnet \
&& rm dotnet.tar.gz \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet
我也尝试了Microsoft教程上的链接,但仍然遇到相同的错误。
提前感谢您的帮助
最佳答案
简短答案
请在curl
下载中使用此URL。
https://dotnetcli.azureedge.net/dotnet/Sdk/1.0.1/dotnet-dev-debian-x64.1.0.1.tar.gz
说明
您的脚本成功安装了命令行界面(CLI),但未成功安装软件开发工具包(SDK)。您的
dotnet
目录列表可能看起来像这样,但没有sdk
目录。$ ls /usr/share/dotnet
dotnet host LICENSE.txt sdk shared ThirdPartyNotices.txt
如果要运行
dotnet new
或其他任何CLI命令,则dotnet
目录需要包括sdk
目录。SDK和运行时Linux downloads are listed here。底部有一个下载脚本,可简化安装。该脚本显示了两个下载链接:
仅对于共享的运行时:
$azure_feed/$azure_channel/Binaries/$specific_version/dotnet-$osname-$normalized_architecture.$specific_version.tar.gz
对于SDK:
$azure_feed/Sdk/$specific_version/dotnet-dev-$osname-$normalized_architecture.$specific_version.tar.gz
SDK下载链接是我们运行
dotnet
命令所需要的。请注意,运行时版本1.1.1与SDK版本1.0.1打包在一起。关于docker - Docker中Debian上的dotnet core SDK/Runtime,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42893134/