Tag: asp.net

如何dockerize一个ASP.NET Core 2.0应用程序?

我有一个简单的ASP.NET Core 2.0应用程序,在解决scheme中有两个项目。 一个项目是由Web应用程序(WeatherWeb.dll)引用的类库(WorldLibrary.dll)。 我试图按照这里的步骤: https://docs.docker.com/engine/examples/dotnetcore/ 这是我的Dockerfile: FROM microsoft/aspnetcore-build:2.0 AS build-env WORKDIR /app # Copy csproj and restore as distinct layers COPY *.csproj ./ RUN dotnet restore # Copy everything else and build COPY . ./ RUN dotnet publish -c Release -o out # Build runtime image FROM microsoft/aspnetcore:2.0 WORKDIR /app COPY –from=build-env /app/out . […]

如何从Docker容器访问SQL Server?

我现在正在通过.NET Framework 4.6.1来使用MVC5应用程序,而且我正在使用Windows容器。 其中一个要求是为应用程序创builddocker镜像。 我成功地拉动了microsoft / aspnet:4.6.2图像,并在容器中部署了一个web应用程序。 在Dockerfile中,我添加了“EXPOSE 1433”,以确保SQL Server可以通过此端口访问主机。 问题是与SQL连接。 build立连接导致以下错误: System.Data.SqlClient.SqlException (0x80131904): Login failed for user 'NT AUTHORITY\ANONYMOUS LOGON' 我应该提到连接string是启用集成安全性 。 我曾尝试设置应用程序池标识: Set-ItemProperty IIS:\AppPools\DefaultAppPool\ -Name processModel -Value @{username='domain\user';password='somepassword';identityType=3 } 这不幸的是 ,由于停止的应用程序池,导致“ HTTP错误503.服务不可用 ”。 我已经检查了窗口事件存储,我发现了三个事件: 应用程序池DefaultAppPool已被禁用。 Windows进程激活服务(WAS)在启动工作进程为应用程序池提供服务时遇到了故障。 应用程序池DefaultAppPool已被禁用。 Windows进程激活服务(WAS)没有创build工作进程来为应用程序池提供服务,因为应用程序池标识无效。 应用程序池DefaultAppPool的身份无效。 为身份指定的用户名或密码可能不正确,或者用户可能没有批处理login权限。 如果身份未被更正,应用程序池将在应用程序池收到第一个请求时被禁用。 如果批处理login权限导致该问题,则Windows进程激活服务(WAS)可以重试login之前,必须在授予权限后更改IISconfiguration存储中的标识。 如果在处理应用程序池的第一个请求之后身份保持无效,应用程序池将被禁用。 数据字段包含错误编号 我已经检查了凭据,他们是正确的。 我的想法是,容器有自己的私人领域。 这就是为什么我无法连接到SqlServer。 研究我find了这篇文章 。 有没有人试图在Docker容器中configurationActive Directory? 你如何解决SQL连接的问题?

在Docker容器ASP.NET应用程序中集成Windows身份validation

我从微软/ aspnet存储库创build了一个容器。 我想在IIS中容纳一个ASP.NET 4.x web应用程序,在该应用程序中,我可以获取login的用户访问该网站。 我希望能够利用集成的Windows身份validation,因为这是一个内部应用程序。 我已经为容器主机创build了一个透明的networking。 另外,我在容器中的IIS上设置了Windows身份validation。 我已经阅读了关于在容器主机上创build一个Group Managed Service Account的问题,但是我还没有做到这一点,不确定这是否足够,否则我将不得不采取进一步措施。

使用Confluent.Kafka从.net核心服务写入Kafka

我有一个.net核心服务,从MEMSQL服务器获取数据并返回给客户端。 但是,在服务中生成的查询需要logging到Kafka集群。 我试着安装Confluent.Kafka软件包并进行日志logging,在本地运行时工作正常。 但在容器中,该服务无法logging并生成以下错误: warning NU1701: Package 'librdkafka.redist 0.9.5' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project. The type initializer for 'Confluent.Kafka.Impl.LibRdKafka' threw an exception. 容器在LINUX机器上运行。 基本上,我需要找出与.netcore 2.0兼容的Confluent.Kafka版本,而不依赖.NETFramework v4.6的版本。

如何在Kitematic Boot2docker linux上安装?

我已经通过Docker工具箱https://www.docker.com/toolbox中的boot2docker虚拟机安装教程。 使用窗口10作为我的基础,我设法使virtualbox从Linux default 4.0.9-boot2docker 当我开始尝试运行apt-get或yum来安装NODE.JS或ASPNET之类的东西时,我被告知没有find这些文件。 最终目标是能够在我的本地环境中运行我的aspnet docker镜像。 我需要在我的Docker服务器上安装aspnet,node等…才能开始运行aspnet docker镜像? 如果是的话,我该如何将它们安装在没有apt-get或yum的linux版本中? 编辑 – 注意这是ASPNET的核心文件,似乎build议我需要在docker服务器上安装的东西。 https://dotnet.readthedocs.org/en/latest/getting-started/installing-core-linux.html也许我可以在Windows环境中的docker-build和从linux虚拟机运行docker,而不需要实际安装除我之外的任何东西docker形象?

Docker for Windows不适用于卷

我正在尝试使用ASP.NET Core,Docker for Windows和Visual Studio Docker Tools创build一个项目。 所以我创build了一个ASP.NET Core Empty Project,并通过上下文菜单添加了Docker支持。 我的docker-compose.debug.yml如下所示: version: '2' services: aspnetcore_rtm_windows_docker_sample: image: username/aspnetcore_rtm_windows_docker_sample:Debug build: context: . dockerfile: Dockerfile.debug environment: – REMOTE_DEBUGGING=${REMOTE_DEBUGGING} ports: – "80:80" volumes: – .:/app 当我开始时:没有任何反应。 浏览器返回未find的主机和Visual Studio的debugging停止。 但我已经调查了这个问题:如果我删除了卷条目,它工作正常。 浏览器返回“Hello world”,我可以debuggingDocker容器中的ASP.NET Core示例。 有人可以告诉我:为什么? Docker共享驱动器处于活动状态(驱动器C)。 我的项目位于C:\,并试图使用不同的驱动器。 任何人有一个想法,为什么卷input不工作?

Docker for Windows:ASP.NET站点无法读取在Dockerfile中定义的环境variables

我有一个ASP.NET网站在Windows泊坞窗容器中运行。 我希望能够读取在Dockerfile中定义的环境variables。 (当凝视容器时) 我无法使其工作: 摄制: 安装和configuration使用Windows容器所需的软件。 创build一个新的(空的)文件夹。 在新build文件夹中创build两个文件(Dockerfile和default.aspx),其内容如下所述。 导航到空文件夹并运行docker build -t test . (这将创build一个名称为test的容器图像 在交互式容器中启动powershell: docker run -it –rm -e FROM_COMMAND_LINE="From command line" –entrypoint powershell test 您现在将在容器内的一个PowerShell提示。 您现在可以通过获取网页来validation环境variables在网站中不可用: $(wget http://localhost/default.aspx -UseBasicParsing).Content 结果摘录: xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GetEnvironmentVariables COMPUTERNAME – 540CA54CDB93<br> PUBLIC – C:\Users\Public<br> LOCALAPPDATA – C:\Windows\system32\config\systemprofile\AppData\Local<br> … xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx GetEnvironmentVariables – Process COMPUTERNAME – 540CA54CDB93<br> PUBLIC – C:\Users\Public<br> LOCALAPPDATA […]

在Docker镜像启动之间坚持ASP.NET Coreauthentication

每次包含.NET Core MVC Web应用程序的Docker映像启动时,所有authenticationCookie都将失效,这可能是由于生成了新的机器密钥(在签名Cookie时使用)。 这通常可以通过.NET应用程序的web.config中的<machineKey/>元素来设置。 这个链接表明DataProtection包将符合这个法案,但是这个包似乎需要全面的框架。 什么是正确的方法来确保每次重新启动Docker镜像都不会使现有的auth cookie失效?

在Docker镜像构build时排除path以提高大小

在我们的项目中,我们有一个带有Angular2客户端的ASP.NET Core项目。 在Docker构build时,我们启动: FROM microsoft/dotnet:latest COPY . /app WORKDIR /app RUN ["dotnet", "restore"] RUN apt-get -qq update ; apt-get -qqy –no-install-recommends install \ git \ unzip RUN curl -sL https://deb.nodesource.com/setup_7.x | bash – RUN apt-get install -y nodejs build-essential RUN ["dotnet", "restore"] RUN npm install RUN npm run build:prod RUN ["dotnet", "build"] EXPOSE 5000/tcp ENV […]

ASP.NET Core HttpClient不能在容器中进行HTTPS调用

我正在将API从Windows .NET Full Framework(4.6.1)迁移到ASP.NET Core。 我可以通过下面的Dockerfile在Rancher环境中启动一个容器: root@a84db3bdc3cf:/app# cat Dockerfile FROM microsoft/aspnetcore:1.1 ARG source=. WORKDIR /app EXPOSE 80 COPY $source . ENTRYPOINT ["dotnet", "myapp.dll"] 我注意到,在我的代码中的任何人使用HttpClient打电话给一个HTTPSurl,呼叫失败。 InnerException的Message读取: SSL连接错误 有没有人看到这个,如果是的话,你知道是否有一些额外的configuration需要容器能够通过HTTPS进行HTTP操作吗? 它似乎与HTTP正常工作。 编辑: 我的应用程序不能通过HTTPS运行。 它通过HTTP托pipe。 我的应用程序中的代码试图调用通过HTTPS托pipe的远程API,并且拥有有效的证书。