Kubernetes не использует Dockerfile часовой пояс - PullRequest
1 голос
/ 22 октября 2019

У меня есть следующий файл докера, где я определил timeZone для Америки / Боготы, а затем, где конвейер Azure создает образ, который я вижу в дате журнала, правильный из файла dockerfile, но когда я выполняю модуль в Azure, Kubernetes - часовой поясэто отличается. Почему модуль kubernetes не использует часовой пояс Америка / Богота?

FROM microsoft/dotnet:2.1-aspnetcore-runtime AS base
WORKDIR /app
EXPOSE 80

FROM microsoft/dotnet:2.1-sdk AS build
WORKDIR /src

COPY NuGet.Config ./
COPY NugetPackage/travelExpensesRestClient.1.0.0.nupkg NugetPackage/
RUN dir /src/NugetPackage

COPY microservicioX/microservicioX.csproj microservicioX/
COPY travelExpenses.Viajes.Proxy/travelExpenses.Viajes.Proxy.csproj travelExpenses.Viajes.Proxy/

RUN dotnet restore -nowarn:msb3202,nu1503  microservicioX/microservicioX.csproj #--verbosity diag
COPY . .
WORKDIR /src/microservicioX
RUN dotnet build -c Release -o /app

FROM build AS publish
RUN dotnet publish microservicioX.csproj -c Release -o /app


WORKDIR /
ENV TZ=America/Bogota
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN date


FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "microservicioX.dll"]

Для более подробной информации: в лазурном конвейере я вижу правильный часовой пояс https://i.ibb.co/wgSzHS9/Time-Zone-build-Image.png

Часовой пояс в лазуриКубернетес стручок https://i.ibb.co/hm25Xkc/Time-Zone-in-Pod.png

1 Ответ

3 голосов
/ 22 октября 2019

Я думаю, что вы, возможно, определяете TZ в другом изображении

Это изображение publish:

FROM build AS publish
RUN dotnet publish microservicioX.csproj -c Release -o /app


WORKDIR /
ENV TZ=America/Bogota
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
RUN date

И именно здесь вы устанавливаете TZ. Это изображение final, в котором выполняется приложение:

FROM base AS final
WORKDIR /app
COPY --from=publish /app .
ENTRYPOINT ["dotnet", "microservicioX.dll"]

Здесь вы не устанавливаете TZ. Я думаю, что добавления TZ, как вы сделали на изображении publish, должно быть достаточно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...