运行 ASP.NET 来自亚马逊的核心应用 Linux Docker 2 - 全球化

Running ASP.NET Core app from Amazon Linux 2 on Docker - Globalization

我的 ASP.NET 核心应用程序 运行 在 microsoft/aspnetcore:2.0-jessie 上非常漂亮(或多或少)。现在我想尝试将其部署到 amazonlinux:2.

到目前为止,最大的障碍是 libicu。我尝试将 Globalization 设置为 Invariant,但这导致了奇怪的失败,例如 mySQL 数据库调用。

这是我的 Dockerfile 中的相关步骤:

RUN curl -L --http1.1 http://download.icu-project.org/files/icu4c/57.1/icu4c-57_1-RHEL6-x64.tgz --output icu.tgz \
    && tar -xf icu.tgz -C / \
    && export LD_LIBRARY_PATH=/usr/local/lib \
    && rm icu.tgz

(昨天我正在尝试处理此问题时,SourceForge 出现故障,这并没有改善问题。)

无论如何,我仍然从 .NET Core 那里得到了厄运的消息:

FailFast: Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.

对如何进行有什么建议吗?

好吧,我昨天重温了这个。不知道是不是因为亚马逊Linux镜像的base.tar已经更新了,还是因为我上次做错了,但是我用yum安装了下面的包,都是嗯:

  • libunwind
  • 立比库
  • dotnet-hosting-2.0.5

请注意,对于 dotnet 包,我首先需要为 yum 设置 Microsoft 的包存储库,即

rpm --import https://packages.microsoft.com/keys/microsoft.asc

并将以下文件复制到 /etc/yum.repos.d/dotnetdev.repo :

[packages-microsoft-com-prod] 
name=packages-microsoft-com-prod 
baseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod 
enabled=1 
gpgcheck=1 
gpgkey=https://packages.microsoft.com/keys/microsoft.asc

(参见 Microsoft's instructions for CentOS and other Linux distros