簡體   English   中英

Docker:運行dotnet發布-o / output會導致CLI出現非零錯誤

[英]Docker: Running dotnet publish -o /output results in a nonzero error on CLI

我正在使用Ubuntu 16.04 LTS,


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

運行此命令: dotnet publish -o / output with docker導致此錯誤:


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,但不確定如何解決此錯誤; 它只是不會創建該發布文件夾; 這是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基本路徑:
/usr/share/dotnet/sdk/2.0.2/

Microsoft .NET核心共享框架主機

版本:2.0.0 Build:e8b8861ac7faf042c87a5c2f9f2d04c98b69f28d

使用更多錯誤日志鏈接到相同問題

您看到的錯誤是因為您的項目包含一個global.json文件,該文件將所需的SDK版本固定為2.0.2。 但是,docker鏡像包含較新的SDK版本(當前版本為2.1.3)。 因為您用於構建的docker鏡像中不存在2.0.2 SDK,所以它只是出錯。

首先,如果您使用的是Ubuntu,則Windows的docker不相關。

我看到dotnet publish -c Release -o out用於“ Dockerize a .NET Core application ”(以及repo dotnet/dotnet-docker-samples ),其圖像以

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

它是一個多拱的標簽,這意味着它將拉取Windows或Linux容器,具體取決於主機(這里是Ubuntu)
但是你在之前的問題中提到了pluralsight.com課程docker docker-images-containers-aspdotnet-core ,那個人可能只在Windows上完成時工作(意味着Windows服務器2016/2017,能夠執行Windows圖像)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM