私は最初のドッカーwebapiプロジェクトを作成するのにthis tutorialを使用しました。dotnet aspnetcore docker buildが145エラーコードで失敗する
私はWindows 7(ドッカーツールボックス)を使用しています。
この私が走ってきたもの:
dotnet new webapi
この
はDockerfileです:FROM microsoft/dotnet:latest
COPY . /app
WORKDIR /app
RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]
EXPOSE 5000/tcp
ENV ASPNETCORE_URLS http://*:5000
ENTRYPOINT ["dotnet", "run"]
これは、私がイメージ作成方法です:
docker build -t mydemos:aspnetcorehelloworld .
をそして、これは私どのようにですコンテナを作成して実行しました:
docker run -d -p 8080:5000 -t mydemos:aspnetcorehelloworld
サービスがドッキング用のコンテナとして正常に実行されました。
はその後、私はaspnetcoreベース画像上で動作するようにDockerfileを変えてみました:新しいDockerfileがどのように見える
FROM microsoft/dotnet:latest
FROM microsoft/aspnetcore:1.0.1
に変更されました:今
FROM microsoft/aspnetcore:1.0.1
COPY . /app
WORKDIR /app
RUN ["dotnet", "restore"]
RUN ["dotnet", "build"]
EXPOSE 5000/tcp
ENV ASPNETCORE_URLS http://*:5000
ENTRYPOINT ["dotnet", "run"]
、私は」
docker build -t mydemos:aspnetcorehelloworld1 .
を使用して新しい画像を作成しようとしました
そしてエラーが発生します。
これは、ビルドログです:
Sending build context to Docker daemon 636.9 kB
Step 1/8 : FROM microsoft/aspnetcore:1.0.1
---> 2c7bbc508bb2
Step 2/8 : COPY . /app
---> Using cache
---> 1d5b9bd908b3
Step 3/8 : WORKDIR /app
---> Using cache
---> c1d5d091d111
Step 4/8 : RUN dotnet restore
---> Running in 8399e21caeb2
Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409
The command 'dotnet restore' returned a non-zero code: 145
私は、URLに入ったものを再インストールし、私はまだエラーを取得します。
同じコマンドラインセッションでdotnet cliコマンドを使用しようとしましたが、成功しました(dotnet restore
が機能します)。
私はこのエラーを回避しようとしましたが、本当に解決策が見つかりませんでした。
私はここで何が欠けていますか?私はこの145エラーを複数の機会やテストで得ています。
答えに感謝しますが、私に何かを理解させてください。私は必要なランタイムを含む別のドッカー画像に基づいてドッカー画像を構築しようとしています。ビルドプロセスにSDKが必要であることは理解していますが、SDKを含むベースイメージが必要なのはなぜですか? –
@AmirPopovich私は答えにいくつかの詳細を追加しました。他に質問がある場合はお知らせください。 – Polynomial
すばらしい説明!!!どうもありがとうございました。最後の質問:ランタイムとSDKのみを含む小さな画像はありますか?ドッカーファイルに2つのFROMコマンドを追加する方法はありますか? –