Mac OS X Docker基线aspnet错误:未findlibdl
使用boot2docker和微软的基本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 build -t mvcapp .
,但是当我尝试运行docker run -i -p 5004:5004 -t mvcapp
我得到以下错误:
System.DllNotFoundException:libdl at(wrapper managed-to-native)Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis / LinuxApis:dlopen(string,int)at Microsoft.AspNet.Server.Kestrel.Networking.PlatformApis + LinuxApis.LoadLibrary (System.String dllToLoad)[0x00000] in:0 at Microsoft.AspNet.Server.Kestrel.Networking.Libuv.Load(System.String dllToLoad)[0x00000] in:0 at Microsoft.AspNet.Server.Kestrel.KestrelEngine .. ctor(ILibraryManager libraryManager,IApplicationShutdown appShutdownService)[0x00000] in:0 …
我已经尝试了几个不同的基础aspnet图像,但很less成功。 是否有一个特殊的步骤,以使Mac OS X得到这个工作?
编辑:我应该添加,运行相同的入口点命令dnx -p project.json kestrel
不起作用,我可以成功地访问localhost:5000。
我在Ubuntu 15.04上遇到同样的问题。 我也尝试在Dockerfile中添加“ENV RUNTIME_PACKAGES libunwind8 gettext libssl-dev libcurl3-dev zlib1g”,但它不起作用。 根据Running-ASP.NET-5-beta4-in-Docker-with-DNX-runtime ,在beta7工作正常之前,它似乎是以前的版本。
我发现我使用错误的docker图像“微软/ aspnet:1.0.0-beta7”。 我做了以下步骤后,它工作正常。
- 通过:docker pull microsoft / aspnet:1.0.0-beta7-coreclr获取正确的docker图像
- 修改dockerfile:使用“FROM microsoft / aspnet:1.0.0-beta7-coreclr”而不是“FROM microsoft / aspnet:1.0.0-beta7”并添加“ENV RUNTIME_PACKAGES libunwind8,gettext,libssl-dev,libcurl3-dev,zlib1g “
- 无法通过docker连接到ASP.NET核心
- ASP.NET Core + Docker +公开wwwroot
- 无法使用Docker在Azure上的VM上部署ASP .net vnext应用程序
- 我一直得到“dockerbuild设”需要1正确的参数(S)错误
- 将.net核心应用程序部署到docker会给“Microsoft.DotNet.Props”找不到错误
- 启用docker支持时,丢失IIS执行
- 作为一个asp.net MVC开发者,为什么以及何时使用docker?
- 如何从Docker容器访问SQL Server?
- 如何在ASP.NET Web应用程序中的docker中的sonarqube中执行代码分析