Tag: .net core

Linux Docker中的SQL Server实例string连接

我正在发布一个应用程序到docker image microsoft/dotnet:1.0.1-core在连接string中引用Sql Server实例的microsoft/dotnet:1.0.1-core : "Data Source=host\instance;Initial Catalog=database;User ID=user;Password=pass;" 在Windows环境中也是如此,但是使用docker,应用程序无法连接到数据库。 更改Data Source使用port而不是instance它的作品。 "Data Source=host,port;Initial Catalog=database;User ID=user;Password=pass;" 我怎样才能连接,从docker,到Sql Server使用实例,而不是端口?

Dotnet Core从Mac发布到IIS

我想从mac发布我的dotnet核心应用程序到IIS。 我使用VS代码编写代码和Dotnet核心1.1发布到本地目录。 (例如: bin / release / publish )。 有编译我的文件,准备复制到IIS。 在我的IIS上,我目前已经安装了web部署3.6 ,这是我的VPS机器。 有没有优雅的方式,如何复制文件? 另一种方法是使用docker ,但在这种情况下,我有同样的问题。 生成docker文件与docker发布者工具 ,我需要从mac os复制。 感谢您的时间。

Docker for windows:Linux与Windows容器之间的通信

我正在尝试使用Visual Studio Docker Tools为项目设置开发环境。 我有一堆基于.net核心的和一些通过RabbitMq进行通信的完整的fx微服务。 RabbitMq是一个基于Linux的docker集装箱,而.net核心微服务也是如此,它们连接到docker-compose文件中的同一networking。 .net核心微服务通过使用容器名称作为主机名连接到RabbitMq没有问题。 但是,当涉及到基于Windows的容器有一个问题,networking不能共享之间的窗口和Linuxdocker引擎,所以我不能连接基于Windows的微服务通过使用容器名称的RabbitMq服务(使用主机IP将是薄弱的发展机器,因为这对其他开发者来说会有所不同,会带来一些configuration开销)。 AFAIK群模式可以用来确保这样的通信,但是这比开发更适合testing/生成环境,而且在这种情况下(它运行docker-compose up命令),很酷的Visual Studio容器debuggingfunction将会丢失。 那么在单个主机上混合系统互通器通信的最佳方式是什么?

如何减less.NET Core docker容器的内存使用量?

我们在托pipeWeb API的Docker / Ubuntu上运行.NET Core 1.1容器。 这些容器基于microsoft/aspnetcore:1.1.2 ,为Ubuntu x64平台发布了二进制文件,并在构build映像时复制到其中,并且非常简单。 目前我们的Web API也非常简单,最多只有less数控制器从SQL Server中提取数据。 他们没有重大的caching或任何不寻常的,但是当运行使用500-900 Mb的RAM每个地方。 这不是由于内存泄漏造成的 – 每个容器的内存使用量随时间变化都是稳定的,在使用过程中上下变化10-15Mb。 这个级别的RAM使用应该是完全没有必要的 – 我怎样才能减less它? 我已经回顾了Docker容器的内存使用问题,但它不同,在这一点上没有答案。

Linux上的.NET Core如何确定SQL Server实例侦听的端口?

我有一个ASP.NET Core 1.1 Web API,它在Ubuntu的Docker容器中运行,并连接到Windows服务器上的SQL Server数据库(SQL Server 2012 SP3)。 这在四个外出环境中的三个中都能正常工作,但是在一个环境中,它无法连接到SQL Server,我试图对其进行故障排除。 错误是: 未处理的exception:System.Data.SqlClient.SqlException:build立与SQL Server的连接时发生networking相关或实例特定的错误。 服务器未find或无法访问。 validation实例名称是否正确,并将SQL Serverconfiguration为允许远程连接。 (提供程序:TCP提供程序,错误:25 – 连接string无效) SQL Server有一个实例名称:SQLSERVER1 \ APPS。 在Linux服务器上,我可以ping服务器SQLSERVER1和telnet到SQLSERVER1 1372(1372是APPS实例的端口:所以networking连接就在那里。 我可以看到问题发生的唯一空间是.NET Core如何将实例名称转换为端口号。 有谁知道这是如何完成的,是否可以在客户机上configuration?

我如何提供应用程序configuration到我的在Docker容器中运行的.NET Core Web API服务?

我正在使用Docker来部署我的ASP.NET Core Web API微服务,并且正在查看将configuration注入到每个容器的选项。 在应用程序根目录中使用appsettings.json文件的标准方式并不理想,因为就我所见,这意味着将文件构build到我的泊坞窗图像中,这会限制图像可以运行的环境。 我想要构build一个图像,在运行时可以提供configuration,并通过开发工具,testingUAT进入生产环境,而无需为每个环境创build图像。 选项似乎是: 通过环境variables提供configuration。 似乎有点乏味。 以某种方式将容器中的path映射到appsettings.json所在的主机服务器上的标准位置,然后让服务select它(如何操作)? 可以在docker运行命令行上提供值吗? 有人对此有经验吗? 你能提供代码示例/方向,特别是关于选项2),这似乎是目前最好的?

Docker上的debugging会抛出一个错误

我刚刚创build了简单的DotNetCore WebApi,并通过Visual Studio 2015 Update 3 (尽可能最新)添加了Docker支持。 在Docker上执行debugging,当我试图在Docker上debugging时出现以下错误。 目标进程退出,但没有引发CoreCLR启动事件。 确保目标进程已configuration为使用Microsoft.NETCoreApp 1.0.0或更高版本。 如果目标进程没有运行.NET代码,则可能会出现这种情况。 任何想法如何解决这个问题? 旁注 最新的SDK被安装,所以消息在debugging输出没有任何意义 最新的Docker Preview VS205工具已安装 基于Visual Studio 2015 Docker集成不会附加debugging驱动器C检查Docker设置的共享驱动器 GitHub问题4657没有帮助。 Dockerfile.debug FROM microsoft/dotnet:1.0.0-core debugging输出 VERBOSE: Setting: $env:CLRDBG_VERSION = "VS2015U2" VERBOSE: Setting: $env:REMOTE_DEBUGGING = 0 VERBOSE: Executing: docker exec -i 64495b0eae7c /clrdbg/clrdbg –interpreter=mi Did you mean to run dotnet SDK commands? Please install […]

部署.NET Core 1.1应用程序到Docker – 无法parsingCoreCLRpath

我们正在尝试将我们的.NET Core应用程序部署到docker。 假设我们的项目基地位于/source. 当我们在/source运行dotnet restore dotnet build和dotnet run ,一切正常。 但是当我们触发dotnet publish -c Release -o publish ,进入publish文件夹,并尝试dotnet OurAppName.dll (直接从DLL运行应用程序),这个错误是抛出: Could not resolve CoreCLR path. For more details, enable tracing by setting COREHOST_TRACE environment variable to 1 摘要:在dotnet run dotnet OurAppName.dll容器中的dotnet核心应用程序时, dotnet run在source文件夹中正常工作, dotnet OurAppName.dll在publish文件夹中崩溃。 可能是什么问题? 我们已经在我们的DockerFile尝试了latest和1.1-sdk-projectjson标签。

在Azure中的Docker中,一个带有swagger的asp.net核心Web API不起作用

我创build了一个asp.net核心Web API应用程序VS2017,.NET的核心版本是1.1。 然后,我添加了对Web API应用程序的Docker支持 在本地运行Docker中的Web API,工作正常。 使用vs2017将其部署到Azure中的Docker中,在Azure中的Docker中正常工作。 使用Swashbuckle为.net核心Web API添加swagger UI。 在本地Docker中重新运行Web API,工作正常。 使用vs2017将其重新部署到Azure中的Docker,它不起作用。 它显示以下错误 “networking错误(tcp_error)发生通信错误:”“Web服务器可能closures,太忙或遇到其他问题,无法响应请求。 你不妨稍后再试一次“ 那么我认为这可能是由Swagger和Swashbuckle引起的,但是在我的本地Docker中它工作正常。 而且,我试图去除Swashger的Swashbuckle和编码。 它仍然不起作用。 有人知道这个问题可能吗?

Docker – 理解开始/运行

我知道我有这些图像的图像和实例 – 容器。 但。 考虑我有为.net核心应用程序创build的图像。 这是docker文件。 FROM microsoft/dotnet:1.1-sdk WORKDIR /app COPY . ./ RUN dotnet restore RUN dotnet publish -c Release -o out ENTRYPOINT ["dotnet", "out/dotnetapp.dll"] 我的dotnetapp.dll在启动时抛出exception。 所以,现在我可以buld的形象: docker build . -t my-image 然后创build并运行图像: docker run –name my-container -t my-image 一切都如预期 – 我的dotnetapp.dll运行,然后引发exception(从应用程序,如预期)。 我想如何重新运行(重新启动)我的容器。 所以我认为这应该足够了: docker start my-container 但没有任何反应(我的dotnetapp.dll没有运行)。 我也试图停下来重新开始: docker stop my-container docker start […]