Tag: .net core

如何检查在PS1中dotnet恢复是否正常?

我使用dotnet restore命令dockertask.ps1文件,问题是如何确保它运行没有错误?

networking唤醒 – Linux – .Net核心

我已经做了一个小工具来发送一个神奇的数据包到我的networking上的计算机来唤醒他们。 它在Windows上完美工作,但是当从docker容器(linux)尝试相同的时候,我得到一个ArgumentExceptionexception。 任何人都可以解释这一点吗? 这是UDP实施中的错误吗? 是否与dockernetworking无法达到与主机相同的networking上的MAC地址? 我的代码: public async Task<int> SendWakeOnLanAsync(byte[] mac) { Log.Information("Waking on MAC: {mac}", BitConverter.ToString(mac)); int counter = 0; byte[] bytes = new byte[6 * 17]; for (var i = 0; i < 6; i++) { bytes[counter++] = 0xFF; } //16x MAC for (var i = 0; i < 16; i++) { mac.CopyTo(bytes, […]

在dotnet SDK和Docker容器上

这个问题应该是非常简单的。 假设你正在尝试运行一个Asp.Net Core Web Api。 该应用程序将运行在干净的Linux安装中的Docker容器(味道并不重要)。 该容器位于一个带有泊坞窗工具的Kubernetes集群中的POD内部。 Dockerfile需要定位一个特定版本的aspnetcore,看起来像这样: FROM microsoft/aspnetcore:1.1 COPY . /app WORKDIR /app EXPOSE 5000/tcp ENV ASPNETCORE_URLS http://*:5000 ENTRYPOINT ["dotnet", "run"] testing一下,我运行一个Docker命令 所以我被困在这里, 我假设ENTRYPOINT定义中的“dotnet”命令是运行.Net Core SDK。 如果此Linux代理上的容器没有安装SDK,或者所安装的SDK是您尝试使用的SDK的较旧版本,那么您将如何将此代码移植到Docker构build中? 从本质上来说,ENTRYPOINT中的“dotnet”命令是指一个不存在的程序? 我是否应该用容器打包SDK? 如果是这样,该行应该读取ENTRYPOINT [“./dotnet”,“run”],因为它在Linux上? 另外如果是这样,我需要执行什么其他步骤来打包SDK? 我的假设是SDK已经打包在Microsoft / aspnetcore:1.1的容器中了吗? 如果是这样,有没有办法在ENTRYPOINT定义中引用打包的可执行文件? 任何有识之士将不胜感激!

由于缺lessdll:s,因此使用.NET Core 2.0构buildDocker多阶段失败

我有一个.NET核心networking应用程序,由dotnet new web -o foo生成,以及以下(多阶段) Dockerfile : FROM microsoft/dotnet:2.0-sdk AS builder WORKDIR /build COPY ./foo/foo.csproj . RUN dotnet restore COPY ./foo/*.cs ./ RUN dotnet publish –configuration Release –output ./app FROM microsoft/dotnet:2.0-runtime WORKDIR /app COPY –from=builder /build/app/* ./ ENTRYPOINT ["dotnet", "./foo.dll"] build立图像工作正常,但运行它不: PS> docker build . -t foo # … Successfully built <hash> Successfully tagged foo:latest […]

如何在Mac上使用JetBrains Rider开发和debugging运行在Docker中的.NET Core应用程序

我已经开始使用.NET Core 1.1和JetBrains Rider作为IDE开发一个Web API应用程序。 最近我遇到了运行和debugging托pipe在Docker容器中的应用程序的需求,我想知道是否有人可以分享如何实现这个设置。

具有ASP.NET核心库的Docker容器

每次我用ASP.NET Core应用程序构buildDockerfile时,都会从networkingNuget存储库下载程序集。 基本上我想创build所有这些ASP.NET核心库(也可能是我通常使用的一些库)的docker图像。 从我的理解,我试图重塑GAC。 所以,我的问题是有可能使用像GAC一样的ASP.NET Core? 或者,我的第二个想法是,将ASP.NET Core库下载到容器,然后以某种方式在本地解决它。 我的目标是缩短build造docker集装箱的时间。 UPDATE 看起来不可能

如何将.net core web api部署到linux机器上

我使用.net核心创build了一个web api应用程序,并且我想用docker部署到linux。 怎么做 ? 我在project.json中的“commands”部分添加了这个(–server.urls),所以变成这样: "commands": { "web": "Microsoft.AspNet.Server.Kestrel –server.urls http://0.0.0.0:5000", }, 这是我的dockerfile FROM microsoft/aspnet:1.0.0-rc1-update1-coreclr COPY . /app WORKDIR /app RUN ["dnu", "restore"] EXPOSE 5000/tcp ENTRYPOINT ["dnx", "-p", "project.json", "web"] 我可以使用这个命令docker build -t myapp成功创build一个docker镜像。 但是当我运行docker工人 docker运行-d -t -p 80:5000 myapp,它抛出一个错误 "Error response from daemon: driver failed programming external connectivity on endpoint kickass_hopper (16d5675978b188131670f391614f7f89b6ec977ae88924ae422a9a9c18768f22): iptables failed: […]

docker集装箱挂时运行dotnet新

挂在microsoft / dotnet上的dotnet新命令:最新的docker镜像。 我的docker信息见下文。 有人要面对这个问题吗? 详细步骤:1.我在Ubuntu桌面14.04上安装了Docker 1.11.2。 2.运行docker命令:docker run -it microsoft / dotnet:最新下载并运行dotnet环境。 3.加载dotnet docker镜像时,执行命令:dotnet new创build新的dotnet工程。 4,显示项目创build成功,但挂起不能退出,也不能用docker命令停止/终止 Containers: 1 Running: 1 Paused: 0 Stopped: 0 Images: 1 Server Version: 1.11.2 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 8 Dirperm1 Supported: true Logging Driver: json-file Cgroup Driver: cgroupfs Plugins: Volume: local Network: host […]

用已经下载的NuGet包构build自定义的Docker microsoft dotnet映像

我目前正在构build一些依赖.net核心的应用程序,并托pipe在Docker容器中。 但是,这会消耗相当多的磁盘空间,因为每个应用程序都需要重新下载并安装依赖项。 但是磁盘空间甚至不是我主要关心的问题。 我也对连续部署非常感兴趣,所以有一个非常快速的构build过程是非常重要的。 目前相当多的构build时间会丢失,如下所示: log : Installing System.Reflection.Emit 4.0.1. log : Installing System.Reflection.TypeExtensions 4.1.0. 等等。 所以我想,我可以使用Docker-union-file-system,并创build一个自定义的基本图像(myowndotnetimage:1.1.0),并将其用于所有容器: FROM microsoft/dotnet:1.1.0-sdk-projectjson RUN apt-get update && apt-get install npm -y RUN npm set registry http://registry.npmjs.org RUN npm install npm -g RUN ln -s /usr/bin/nodejs /usr/bin/node 但是现在我想知道,如果有一个有效的方法来在我的base-Docker-image中安装一些NuGet包。 所以我正在寻找类似的东西 dotnet install Microsoft.AspNetCore.Mvc 我可以在我的Dockerfile中运行,用于我的基本映像。 另一个我很简单的方法是将软件包目录作为一个卷来安装。 但我宁愿避免这一点。

在NuGet中debugging.NET Core项目和.NET库

我有一个.NET Core控制台应用程序和一个.NET标准库。 应用程序通过RELEASE中的nuget源消耗库,并通过每个ItemGroup上的Condition在DEBUG中引用项目引用。 这在本地很有效,因为我可以同时对库和应用程序进行更改和testing。 当源提交(显然是应用程序之前的库),库发布,应用程序使用发布的包。 现在,这个应用程序也是docker-compose的一部分,我希望能够在Docker中运行时进行debugging。 Visual Studio完全支持这一点,但这也意味着我的应用程序是针对我的nuget源中可用的库包构build的,而不是本地编译的和可debugging的。 我有线索,如何解决这个问题,但想知道如果我只是没有丢失的东西,或试图重新发明轮子(虽然我真的很喜欢新的车轮)。 我可以将库的源代码和项目复制为Dockerfile的一部分,并确保它在我的应用程序的csproj中遵守Condition。 这听起来不完整。 我可以在应用程序源文件夹中创build一个本地文件夹,在那里我复制新build库的.nupkg文件,这个文件夹可以在dotnet restore之前通过Dockerfile复制,也可以在Nuget.Config中提到,但是在.gitignore中被忽略。 我即将尝试#2。 有一个更简单的方法吗? 谢谢。