1

我的 ASP.NET Core 应用程序在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:找不到系统上安装的有效 ICU 软件包。如果您想在不支持全球化的情况下运行,请将配置标志 System.Globalization.Invariant 设置为 true。

任何建议如何进行?

4

1 回答 1

0

好吧,我昨天重温了这个。不知道是不是因为Amazon Linux镜像的基础.tar已经更新了,还是因为我上次做错了,但是我使用yum安装了以下包,一切都很好:

  • 自由风
  • 利比库
  • 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 对 CentOS 和其他 Linux 发行版的说明

于 2018-04-09T11:48:53.307 回答