Asp.net Mac OS X Docker基线aspnet错误:找不到libdl

Asp.net Mac OS X Docker基线aspnet错误:找不到libdl,asp.net,macos,docker,asp.net-core,Asp.net,Macos,Docker,Asp.net Core,将boot2docker和Microsoft的基线aspnet映像与基本的yo aspnet项目一起使用: FROM microsoft/aspnet:1.0.0-beta7 COPY project.json /app/ WORKDIR /app RUN ["dnu", "restore"] COPY . /app EXPOSE 5000 ENTRYPOINT ["dnx", "-p", "project.json", "kestrel"] 我可以使用docker build-t mv

将boot2docker和Microsoft的基线aspnet映像与基本的
yo aspnet
项目一起使用:

FROM microsoft/aspnet:1.0.0-beta7

COPY project.json /app/
WORKDIR /app
RUN ["dnu", "restore"]
COPY . /app


EXPOSE 5000
ENTRYPOINT ["dnx", "-p", "project.json", "kestrel"]
我可以使用
docker build-t mvcapp成功构建。
,但是当我尝试运行
docker run-I-p 5004:5004-t mvcapp时,我得到以下错误:

System.DllNotFoundException:libdl at(包装器管理为本机) Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis/linuxapi:dlopen (字符串,int)at Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis+linuxapi.LoadLibrary (System.String dllToLoad)[0x00000]英寸:0英寸 Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Load(System.String dllToLoad)[0x00000]位于:0处 Microsoft.AspNet.Server.Kestrel.kestrengine..ctor(ILibraryManager libraryManager,IApplicationShutdown应用程序关闭服务)[0x00000]中 :0

我尝试了一些不同的基本aspnet图像,但收效甚微。Mac OS X是否有特殊的步骤来实现这一点


编辑:我应该补充一点,运行相同的entrypoint命令
dnx-p project.json kestrel
确实有效,我可以成功访问localhost:5000。

我在Ubuntu 15.04上也有同样的问题。 我还尝试在Dockerfile中添加“ENV RUNTIME_PACKAGES libunwind8 gettext libssl dev libcurl3 dev zlib1g”,但不起作用。 据了解,beta7之前的版本似乎运行良好

我发现我使用了错误的docker映像“microsoft/aspnet:1.0.0-beta7”。在我完成以下步骤后,它工作得很好

  • 通过以下方式获得正确的docker图像: docker pull microsoft/aspnet:1.0.0-beta7-coreclr
  • 修改dockerfile: 使用“来自microsoft/aspnet:1.0.0-beta7-coreclr”而不是“来自microsoft/aspnet:1.0.0-beta7”,并添加“环境运行时_包libunwind8、gettext、libssl开发、libcurl3开发、zlib1g”
  • Follow,“libdl未找到”不会出现。我认为beta7的dockerfile中缺少一些操作。