После обновления базового образа для NetCore в Dockerfile, перестала отображаться кириллица в консоли
Для проекта на NetCore 2.2 имел авто сгенерированный(при помощи VisualStudio) Dockerfile,
в который были добавлены настройки локали для отображения кириллицы.
Для Runtime использовался образ microsoft/dotnet:2.2-aspnetcore-runtime
FROM microsoft/dotnet:2.2-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80
# Set the locale
RUN apt-get update && apt-get install -y locales
RUN sed -i -e 's/# ru_RU.UTF-8 UTF-8/ru_RU.UTF-8 UTF-8/' /etc/locale.gen && dpkg-reconfigure --frontend=noninteractive locales && update-locale LANG=ru_RU.UTF-8
ENV LANG ru_RU.UTF-8
ENV LANGUAGE ru_RU:ru
ENV LC_ALL ru_RU.UTF-8
FROM microsoft/dotnet:2.2-sdk AS build
WORKDIR /src
COPY ["WebApis/WebApiSwc.csproj", "WebApis/"]
#еще много разных COPY ...
RUN dotnet restore "WebApis/WebApiSwc.csproj"
COPY . .
WORKDIR "/src/WebApis"
RUN dotnet build "WebApiSwc.csproj" -c Release -o /app
FROM build AS publish
RUN dotnet publish "WebApiSwc.csproj" -c Release -o /app
FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "WebApiSwc.dll"]
Перешли на NetCore3.1.1, обновили все пакеты, прогнали тесты, ВСЕ ОК,
пришло время менять Dockerfile.
Также авто сгенерировали Dockerfile,
VisualStudio выбрала образ mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1-buster-slim AS base
WORKDIR /app
EXPOSE 80
FROM mcr.microsoft.com/dotnet/core/sdk:3.1-buster AS build
WORKDIR /src
COPY ["WebApis/WebApiSwc.csproj", "WebApis/"]
#еще много разных COPY ...
RUN dotnet restore "WebApis/WebApiSwc.csproj"
COPY . .
WORKDIR "/src/WebApis"
RUN dotnet build "WebApiSwc.csproj" -c Release -o /app/build
FROM build AS publish
RUN dotnet publish "WebApiSwc.csproj" -c Release -o /app/publish
FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "WebApiSwc.dll"]
Запустили на нем, а КИРИЛЛИЦА в консоле - кракозябры.
Пробовали с блоком установки локали (# Set the locale) и без него. Кириллицы нету при выводе лога на консоль.
Кто использует этот образ, подскажите пожалуйста, как добавляли кириллицу?
P.S. Вроде в обоих образах используется Debian. Запускаем наш image через Docker-compose. В Docker-compose никаких специфичных настроек переменных окружения для языка(локали) не задаем.
Ответы (1 шт):
Небольшие поправки. В режиме отладки VisualStudio 2019 через docker-composer кириллица НЕ отображается, также при запуске через PowerShell, тоже нет кириллицы. А вот при запуске через консоль "cmd" все нормально отображается, Это получается у меня на WIn10 что-то не стоит?