Dockerfile сообщает, что копирование не удалось: в .NET Core Dockerfile

Я нашел интересный пример для оптимизации запросов SELECT ORDER BY id LIMIT X, Y. У меня 35 миллионов строк, поэтому для поиска ряда строк потребовалось 2 минуты.

Вот трюк:

select id, name, address, phone
FROM customers
WHERE id > 990
ORDER BY id LIMIT 1000;

Просто поставьте ГДЕ с последним идентификатором, который вы получили увеличить производительность. Для меня это было от 2 минут до 1 секунды:)

Другие интересные трюки здесь: http://www.iheavy.com/2013/06/19/3-ways-to-optimize- for-paging-in-mysql /

Он также работает со строками

1
задан AppleCiderYummy 17 January 2019 в 08:47
поделиться

2 ответа

В вашем файле Docker есть две проблемы.

  1. Ваши версии ядра .net не совпадают между FROM microsoft/dotnet:latest и FROM microsoft/dotnet:2.1-aspnetcore-runtime
  2. Попробуйте AS publish опубликовать вывод.

Вот рабочий докер-файл

FROM microsoft/dotnet:2.1-sdk AS publish
COPY . /app
WORKDIR /app/MyWebApp
RUN dotnet build
RUN dotnet publish -c Release -o out

FROM microsoft/dotnet:2.1-aspnetcore-runtime 
EXPOSE 80
WORKDIR /app
COPY --from=publish /app/MyWebApp/out .

ENTRYPOINT ["dotnet", "MyWebApp.dll"]
0
ответ дан Tao Zhou 17 January 2019 в 08:47
поделиться

При публикации создается каталог назначения в следующем формате:

bin\$(Configuration)\netcoreapp<version>\publish

Таким образом, ваш каталог будет создан в:

COPY ${source:-MyWebApp/bin/Release/netcoreapp<version>/publish/out} .

[ 118] Примечание: замените <version> вашей .net версией

Подробнее об этом вы можете прочитать здесь

0
ответ дан Aman B 17 January 2019 в 08:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: