gpt4 book ai didi

docker - Kubernetes不使用dockerfile时区

转载 作者:行者123 更新时间:2023-12-02 11:56:38 25 4
gpt4 key购买 nike

我有下一个docker文件,其中我已将timeZone定义到America / Bogota,然后在Azure管道构建的日志中可以从dockerfile中看到在日志日期中看到的镜像是正确的,但是当我在天蓝色的Kubernetes中执行pod时,时区是不同的。为什么kubernetes pods 不采用美国/波哥大时区?

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

天蓝色kubernetes Pane 中的时区
https://i.ibb.co/hm25Xkc/Time-Zone-in-Pod.png

最佳答案

我认为您可能会以其他图像定义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。我认为,像在 publish图像中一样在此处添加TZ应该足够了。

关于docker - Kubernetes不使用dockerfile时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58494925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com