Я использую Docker для Windows, версии 1.13.0-rc5-beta35 (9606)Основные миграции EF с помощью ASP.NET ядро, SQL Server и Docker дает DotNet SDK ошибки
Окна 10 Pro
Визуальный Студийный код
Я создал проект ASP.NET ядро с Докер использованием YEOMAN генератора:
yo aspnet
yo docker
У меня возникли проблемы, когда я пытался подключиться к API из контейнера Docker в экземпляр SQL Server, который я запускал локально.
Для решения этой проблемы я создал экземпляр SQL Server, работающий в собственном контейнере (с использованием изображения microsoft/mssql-server-linux
).
Оба контейнера работают и подключены к той же сети с определенным мостом.
Если открыть Баш терминал в моей основной asp.net контейнера и выполнить команду:
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
Я смущен, потому что, хотя я должен установить dotnet. Я использовал microsoft/aspnetcore
в качестве базового слоя в своем файле Dockerfile, и я вижу, что это, в свою очередь, использует microsoft/dotnet:1.0.3-runtime
, поскольку это базовый уровень ...
Может кто-нибудь объяснить, почему я получаю это сообщение, и если я приближаюсь к этому правильное решение (веб-сервер api и sql в отдельных контейнерах)? Если мне нужно установить 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"