c# - 如何为 dotnet 应用程序创建 docker 映像?
问题描述
我有一个 dotnet 项目,当我运行 dotnet 时可以工作,我正在尝试容器化该 dotnet 项目。为此,我创建了 Dockerfile,如下所示:
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
COPY bin/Release/netcoreapp3.1/publish/ App/
WORKDIR /App
EXPOSE 5000
CMD ["dotnet", "MediatorAgent.dll"]
在创建 docker 映像之前,我确实运行了dotnet publish -c Release
. 现在,当我尝试运行此 docker 映像时,出现以下错误
未处理的异常。System.DllNotFoundException:无法加载共享库“indy”或其依赖项之一。为了帮助诊断加载问题,请考虑设置 LD_DEBUG 环境变量: libindy: cannot open shared object file: No such file or directory
我正在按照容器化 .NET Core 应用程序的说明来创建 docker 映像。
解决方案
如何为 dotnet 应用程序创建 docker 映像?
嗯,你做到了。
可能出错的是引用 as 的 DLLindy
没有复制到 App 文件夹中。
由于您正在复制数据,请验证它是否包含在原始版本中 bin/Release/netcoreapp3.1/publish
推荐阅读
- python - Pandas 和 Tkinter,打开和保存文件
- css - 覆盖:父母悬停在孩子身上
- python-3.x - 特定模式的字典到制表符分隔的文本文件
- php - 我需要在 PHP docblock 中使用 splat 运算符,但无法弄清楚如何转义字符
- c# - 在添加新数据之前检查现有列表中是否已存在值
- typescript - 有条件地将输入转换为 Typescript 函数
- python - scikit-learn:FeatureUnion 包含手工制作的功能
- amazon-s3 - AWS S3:删除最后一个文件后如何维护空目录结构
- csvhelper - 返回时处理 CsvHelper.GetRecords
- c - 为什么要向堆栈指针添加地址?