asp.netコア、SQL Server、およびDockerを使用するEFコアの移行により、dotnet SDKエラーが発生する

asp.net-core docker entity-framework-core sql-server

質問

私はDocker for Windowsバージョン1.13.0-rc5-beta35(9606)を使用しています

Windows 10 Pro

Visual Studioコード


私は、Yeomanジェネレータを使用してDockerでASP.NET Coreプロジェクトを作成しました。

yo aspnet
yo docker

Dockerコンテナからローカルに実行していたSQL Serverインスタンスに接続するAPIを取得しようとしたときに問題が発生しました。

これを解決するために、私はそれ自身のコンテナで実行されているSQL Serverのインスタンスを作成しました( microsoft/mssql-server-linuxイメージを使用していmicrosoft/mssql-server-linux )。

両方のコンテナが動作しており、同じユーザー定義のブリッジネットワークに接続されています。

私がasp.netコアコンテナにbashターミナルを開いて、次のコマンドを実行すると、

dotnet ef migrations add InitialMigration

私は、ネットワーク上で実行されているSQL Serverインスタンスにコードファーストモデルが作成されることを期待していました。これは、セットアップをローカル(コンテナなし)で実行するときに起こるものです。代わりに私は以下を取得します:

Did you mean to run dotnet SDK commands? Please install dotnet SDK from:
http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409

私はドットネットがインストールされなければならなかったので、私は混乱しています。私は私のDockerfileの基本レイヤーとしてmicrosoft/aspnetcoreを使用しましたが、これは基本的なレイヤーとしてmicrosoft/aspnetcore microsoft/dotnet:1.0.3-runtimeています。

誰かがこのメッセージを受け取った理由を説明することができますか、私はこの解決策を正しい方法(別のコンテナにあるWeb APIとSQL Server)に近づけていますか?私がdotnet sdkをインストールする必要がある場合、Dockerfileの一部としてそれを行う方法を誰かに教えてもらえたらと思います

助けてくれてありがとう


asp.netコアDockerfileの内容

FROM microsoft/aspnetcore:1.1.0
WORKDIR /app
COPY bin/Debug/netcoreapp1.1/publish /app
ENV ASPNETCORE_URLS http://*:3000
EXPOSE 3000

ENTRYPOINT /bin/bash -c "dotnet MyAppName.dll"

人気のある回答

microsoft/aspnetcore:1.1.0あなたはmicrosoft/aspnetcore:1.1.0 microsoft/dotnet:1.1.0-runtime基づいていmicrosoft/dotnet:1.1.0-runtime 。 SDKには.NET Coreランタイムだけが含まれています。 runefなどのツールを実行するには、 sdkベースのイメージが必要です



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ