我正在尝试为我们的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/

10-16 05:25