Tag: .net core

在Docker容器内运行的Identity Server 4例外:无法加载DLL“System.Security.Cryptography.Native.OpenSsl”

我正在尝试使用Docker容器中的ASP.NET Core运行Identity Server 4,并且继续获取以下exception Unhandled Exception: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. —> System.TypeInitializationException: The type initializer for 'Crypto' threw an exception. —> System.DllNotFoundException: Unable to load DLL 'System.Security.Cryptography.Native.OpenSsl': The specified module could not be found. (Exception from HRESULT: 0x8007007E) at Interop.Crypto.GetMaxMdSize() at Interop.Crypto..cctor() — End of inner exception stack […]

如何使用docker在dotnet上正常closures?

有没有办法正常closures在DOCKER中运行的DOTNET CORE应用程序? 如果是,我应该听哪个活动? 我想要的是取消请求我想将我的取消令牌传递给当前的方法,并推迟他们正在工作的closures。 寻找与dotnet核心相关的示例代码,参考链接等,而不是通用信息 更新这个问题并不是Docker容器的重复, 即使在.net核心控制台应用程序中使用Console.ReadLine()也是如此,因为我没有立即退出问题。 我需要挖掘事件像Windows.SystemsEvents.SessionEnding和依靠Console.CancelKeyPress和/或实现WebHostBuilder()不适合该法案。

创build针对Linux Docker容器的长期运行的.NET Core服务

似乎有两种实质性的.NET Core项目:ASP.NET Core Web App和Console App。 我想在一个Docker环境(Linux容器)中构build一个类似Windows服务的东西,这个过程开始的地方无限期地运行,并且只在被告知的时候停止。 这两个项目types都不适合。 我错过了什么吗?

docker容器即使在.net核心控制台应用程序中使用Console.ReadLine()也会立即退出

我正在尝试在Docker容器中运行.net核心1.0.0控制台应用程序。 当我从我的机器上的Demo文件夹内运行dotnet run命令时,它工作正常; 但是使用docker run -d –name demo Demo时,容器会立即退出。 我试着docker logs demo检查日志,它只是显示Console.WriteLine文本: 演示程序运行… 没有别的。 我已经在https://github.com/learningdockerandnetcore/Demo上传了这个项目 该项目包含Programs.cs ,用于创build演示图像的Dockerfile和project.json文件。

什么会阻止在Docker容器中运行的代码连接到单独的服务器上的数据库?

我在Ubuntu 14.04的Docker容器中运行了.NET Core 1.1应用程序,并且无法连接到在单独的服务器上运行的SQL Server数据库。 错误是: 未处理的exception:System.Data.SqlClient.SqlException:build立与SQL Server的连接时发生networking相关或实例特定的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:TCP提供程序,错误:25 – 连接string无效) 我已经在另一台Ubuntu 14.04服务器上使用相同的命令行部署了相同的映像,并且连接正常。 在问题服务器上运行的控制台应用程序(Docker外部)可以使用相同的连接string进行连接。 据我可以看到,在一个容器中运行的应用程序默认访问外部networking,那么可以阻止这种连接?

无法构build在Docker中引用PCL的ASP.NET Core应用程序

我正在尝试使用以下Dockerfile构build一个ASP.NET Core docker镜像: FROM microsoft/aspnetcore-build:1.1.1 WORKDIR /app COPY src . RUN dotnet restore RUN dotnet publish –output /out/ –configuration Release EXPOSE 5000 ENTRYPOINT ["dotnet","/out/MyWebApp.dll"] 生成失败,并提供以下错误: /app/MyPCL/MyPCL.csproj(70,3):错误MSB4019:导入的项目“/usr/share/dotnet/sdk/1.0.1/Microsoft/Portable/v4.5/Microsoft.Portable.CSharp.targets”没find。 确认声明中的path是正确的,并且该文件存在于磁盘上。 所以在构buildPCL库时遇到了问题,因为找不到Microsoft.Portable.CSharp.targets。 我的PCL项目文件具有以下导入语句: <Import Project="$(MSBuildExtensionsPath32)\Microsoft\Portable\$(TargetFrameworkVersion)\Microsoft.Portable.CSharp.targets" /> 我正在考虑导致这个问题,因为这个path不能存在于docker集装箱中。 顺便说一句,该项目在Visual Studio 2017中build立和运行完美。 有任何想法吗?

Identity Server 4和Docker

我试图configurationDocker的IdentityServer4,但我不能让它的工作。 为了开始,我使用了身份服务器文档的Client Credential示例: 使用Client Credentials保护API IdentityServer 托pipe在5000端口上 的WebAPI 托pipe在港口5001 在我的WebApi的Startup.cs文件的Configure方法中,我做了以下操作(问题可能在这里): app.UseIdentityServerAuthentication(new IdentityServerAuthenticationOptions { Authority = "http://web:5000", RequireHttpsMetadata = false, ApiName = "api1" }); 客户 和客户 // Everything is fine here… var disco = await DiscoveryClient.GetAsync("http://localhost:5000"); var tokenClient = new TokenClient(disco.TokenEndpoint, "client", "secret"); var tokenResponse = await tokenClient.RequestClientCredentialsAsync("api"); // This does not work var client = […]

在Docker中运行.Net Core 2.0上的IdentityServer4 – 访问主机资源

我试图将一个.Net Core 2.0应用程序的服务(IdentityServer 4 v2)转换为在Docker for Windows上运行。 这只在开发工作站上。 我做了标准的Visual Studio 2017“添加Docker支持”到现有的Net Core 2.0服务。 服务启动正常,但由于这些问题而失败: 该服务正在寻找安装在本地主机上的证书。 在Docker中运行它没有看到这个证书。 该服务使用主机的etc / host文件来查找我们的数据库服务器的DNS。 在Docker上运行的服务没有看到主机的DNS。 我试图将docker中的network_mode设置为“host”,但无法构build。 build立这样一个环境的build议方式是什么? 运行时是使用docker撰写的,默认的撰写和configuration非常简单: version: '3' services: identity.server: image: identity.server ports: – "8100:8100" build: context: ./src/Identity.Server dockerfile: Dockerfile 引用的dockerfile: FROM microsoft/dotnet:2.0-runtime ARG source WORKDIR /app COPY ${source:-obj/Docker/publish} . ENTRYPOINT ["dotnet", "Identity.Server.dll"] 我已经阅读了下面的答案,但它似乎不工作在.net本身: https : //devops.stackexchange.com/questions/1501/configure-docker-to-use-ssl-for-a-private -registry上-窗口10?newreg […]

保持Dotnet Core Grpc Server作为控制台应用程序运行?

我试图让一个Grpc服务器作为一个控制台守护进程运行。 这个gRPC服务器是一个在Docker容器中运行的微服务。 我可以find的所有例子都使用以下内容: Console.ReadKey(); 这确实阻塞主线程,并保持运行,但在docker中不起作用,出现以下错误: "Cannot read keys when either application does not have a console or when console input has been redirected. Try Console.Read." 现在我可以尝试finddocker的解决方法,但这仍然不太合适。 有没有人知道一个好的“生产准备”的方式来保持服务运行?

在Windows的Windows子系统中运行Docker中的.Net Core

实际上,我想在Docker中使用.NET Core。 因此,据我了解,从这个职位给自己最好的灵活性,我会安装“Docker的Windows”。 意味着我可以最终将我的.Core应用程序部署到一个Windows或Linux容器的容器。 但是,Linux容器仍然是一个Hyper-Vpipe理的Linux容器。 1)有没有办法改为使用Windows子系统的Linux(WSL)在Windows 10创build者更新中执行此操作? 似乎比Windows / Docker为我pipe理单独的Linux虚拟机花费更less?