Docker:在CLI上运行dotnet发布-o / output会导致非零的错误

我使用的是Ubuntu 16.04 LTS,


Docker-compose v 1.18.0-rc2, build 189468b Docker version 17.12.0-ce-rc1, build ee2f943 

运行这个命令: dotnet发布带docker的-o / output会导致这个错误:


 ERROR: Service 'generator' failed to build: The command '/bin/sh -c dotnet publish -c Release -o out' returned a non-zero code: 145 

在这里输入图像说明

我已经安装了Ubuntu的.NET SDK,不知道如何解决这个错误; 它只是不会创build该发布文件夹; 这里是dotnet –info

joel @ worker-2:〜/ workspace / asp(copy)/ api $ dotnet –info .NET命令行工具(2.0.2)

产品信息:版本:2.0.2提交SHA-1哈希:a04b4bf512

运行时环境:操作系统名称:ubuntu操作系统版本:16.04操作系统平台:Linux RID:ubuntu.16.04-x64基本path:
/usr/share/dotnet/sdk/2.0.2/

Microsoft .NET Core共享框架主机

版本:2.0.0 Build:e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d

链接到相同的问题措辞不同,更多的错误日志

您看到的错误是因为您的项目包含一个global.json文件,将所需的SDK版本固定到2.0.2。 但是,docker镜像包含了更新的SDK版本(当前是2.1.3)。 由于您用于构build的Docker镜像中没有2.0.2 SDK,因此只是出错。

首先,如果您使用的是Ubuntu,Docker for Windows不相关。

我看到dotnet publish -c Release -o out在“ Dockerize .NET Core应用程序 ”(和repo dotnet/dotnet-docker-samples )中使用与图像开始

 FROM microsoft/aspnetcore-build:2.0 AS build-env 

这是一个标签,这是一个多拱形的,这意味着它将取决于主机(这里是Ubuntu)的Windows或Linux容器,
但是,在您之前的问题中,您提到了以下这些复杂的课程:docker docker-images-containers-aspdotnet-core ,并且只能在Windows上完成(意味着Windows server 2016/2017,能够执行Windows映像)