通过dockerfile在amazonlinux 2023镜像上安装dotnet8

问题描述 投票:0回答:1

我正在尝试在 amazon linux 2023 映像 public.ecr.aws/amazonlinux/amazonlinux:2023 上安装 dotnet8。安装后,它尝试运行的命令之一是“dotnet”,但错误提示:

/bin/sh:第 1 行:dotnet:找不到命令

下面是我运行来安装 dotnet 的代码块:

FROM public.ecr.aws/amazonlinux/amazonlinux:2023

RUN curl -fSL --output dotnet.tar.gz https://dotnetcli.azureedge.net/dotnet/Sdk/$DOTNET_SDK_VERSION/dotnet-sdk-$DOTNET_SDK_VERSION-linux-arm64.tar.gz \
&& echo "dotnet.tar.gz" \
&& mkdir -p /usr/share/dotnet \
&& tar -oxzf dotnet.tar.gz -C /usr/share/dotnet ./packs ./sdk ./sdk-manifests ./templates ./LICENSE.txt ./ThirdPartyNotices.txt \
&& rm dotnet.tar.gz \
&& ln -s /usr/share/dotnet/dotnet /usr/bin/dotnet \
# Trigger first run experience by running arbitrary cmd
&& dotnet help

但是当我通过 docker run 命令登录容器并检查 dotnet 信息时,我得到以下详细信息:

bash-5.2# dotnet --info .NET SDK:版本:8.0.203 提交: 5e1ceea679 工作负载版本:8.0.200-manifests.4e94be9c

运行环境: 操作系统名称:amzn 操作系统版本:2023 操作系统 平台:Linux RID:linux-arm64 基本路径:
/var/lang/bin/sdk/8.0.203/

已安装 .NET 工作负载:没有可显示的已安装工作负载。

主机:版本:8.0.3 架构:arm64 提交:
9f4b1f5d66

.NET SDK 安装: 8.0.203 [/var/lang/bin/sdk]

安装的.NET运行时:Microsoft.AspNetCore.App 8.0.3 [/var/lang/bin/shared/Microsoft.AspNetCore.App]
微软.NETCore.App 8.0.3 [/var/lang/bin/shared/Microsoft.NETCore.App]

发现的其他架构:无

环境变量:DOTNET_ROOT [/var/lang/bin]

global.json 文件:未找到

了解更多:https://aka.ms/dotnet/info

下载 .NET:https://aka.ms/dotnet/download

不确定 dockerfile 中缺少什么。任何帮助/意见将不胜感激。 谢谢

.net dockerfile containers amazon-linux-2023
1个回答
0
投票

我将特定包解压缩到文件夹 /usr/share/dotnet 中,而是将所有文件和文件夹解压缩到 /usr/share/dotnet ,并使用指向 /usr/bin/dotnet 的符号链接。运行成功了。

© www.soinside.com 2019 - 2024. All rights reserved.