Delen via


Gevirtualiseerde tijdzone

Van toepassing op: Windows Server 2025, Windows Server 2022, Windows Server 2019,

Windows-containers ondersteunen de mogelijkheid om een gevirtualiseerde tijdzoneconfiguratie gescheiden van de host te onderhouden. Alle configuraties die traditioneel worden gebruikt voor de tijdzone van de host zijn gevirtualiseerd en worden voor elke container als instance aangemaakt. Met deze functie bieden Windows-containers het volgende gedrag:

  • Wanneer u de container start, wordt de tijdzone van de host overgenomen en blijft deze binnen de container. Als de tijdzone van de host verandert terwijl de container wordt uitgevoerd, wordt de tijdzone die in de container is opgeslagen, niet gewijzigd. Als u de tijdzone van de host opnieuw wilt overnemen, moet de container opnieuw worden opgestart.
  • De container bewaart de tijdzoneconfiguratie van de host die wordt waargenomen bij het starten van de container pas totdat de gebruiker de tijdzone expliciet configureert vanuit de container. Zodra u de tijdzone vanuit de container hebt ingesteld, wordt de configuratie gevirtualiseerd en verwijst de container niet meer naar de host.
  • Als u de tijdzone van de container configureert en vervolgens de status van de container opslaat, blijft de tijdzoneconfiguratie behouden tijdens het opnieuw opstarten.

Alle kernelmodus- en gebruikersmodus-API's met betrekking tot de configuratie van de tijdzone van het systeem zijn nu containerbewust. Wanneer een thread die wordt uitgevoerd in de context van een container een systeem-API aanroept om een query uit te voeren op de lokale tijd, wordt de tijdzoneconfiguratie van de container opgehaald in plaats van de host. Tijdzonegegevens die zijn geschreven vanuit een container, blijven nu behouden in containerspecifieke opslag en de container in kwestie neemt de huidige tijdzonegegevens van de host niet meer over tijdens het opstarten. Dit betekent dat nadat u de tijdzone hebt ingesteld, de container de geconfigureerde tijdzone blijft gebruiken tijdens het opnieuw opstarten. Containers die boven op een image zijn gebouwd, nemen de tijdzoneconfiguratie over zolang deze expliciet is ingesteld binnen een van de lagen.

In de volgende tabel ziet u de ondersteunde build voor elke SKU:

artikelnummer Ondersteunde build
Windows Server 2019 10.0.17763.1935 of hoger
20H2 SAC 10.0.19042.985 of hoger
Windows Server 2022 Alle versies
Windows Server 2025 Alle versies

Hoe configureer ik de tijdzone van de container?

Eerst hebt u zowel host- als gastversies met deze functie nodig. Dit betekent dat deze wordt uitgevoerd op een 2105B-onderhoudspatch of hoger. Wanneer u eerdere versies draait, wordt het gedrag van de container teruggezet naar het spiegelen van de tijdzone van de host, zonder dat de configuratie invloed heeft op de host of de gast.

Notitie

Voor het configureren van de tijdzone zijn beheerdersbevoegdheden vereist, met name SeTimeZonePrivilege. Het ContainerAdministrator-account heeft deze bevoegdheid. Daarom is het raadzaam om uit te voeren met de minste bevoegdheden die nodig zijn voor uw workload en het ContainerAdministrator-account te reserveren voor beheertaken, zoals het instellen van de tijdzone.

De aanbevolen manier om de tijdzone van de container te configureren, is via het TZUtil.exe hulpprogramma of de Set-TimeZone cmdlet van PowerShell. Deze hulpprogramma's zijn goed onderhouden en bieden gemak om de tijdzone eenvoudig in te stellen. Elke andere methode moet rechtstreeks communiceren met de systeem-API's. Basisafbeeldingen met TZUtil.exe of PowerShell inbegrepen werken direct zonder aanpassingen. De Nanoserver basisinstallatiekopieën zijn een uitzondering omdat deze installatiekopieën standaard geen ondersteuning bieden voor TZUtil.exe of PowerShell. Hiervoor is dus een aangepast hulpprogramma vereist om te communiceren met de systeem-API's. In elk geval mogen nieuw geschreven toepassingen geen afhankelijkheid hebben van de tijdzone van het besturingssysteem, tenzij dit absoluut noodzakelijk is en in plaats daarvan rekening moet houden met de toepassingsgegevens en logica.

Voorbeeld met Windows Server 2019

Met behulp van de windows Server 2019 Server Core basisinstallatiekopieën is het volgende een voorbeeld voor het instellen van een gevirtualiseerde tijdzone.

  1. Nadat u de container hebt gestart, stelt u de tijdzone in op de tijdzone van de host (in dit voorbeeld is dit Pacific Standard Time) zoals hieronder wordt weergegeven:

    PS C:\> tzutil /g
    Pacific Standard Time
    
    
  2. Stel de tijdzone van de host in op Central Asian Standard Time (UTC+6:00) en u ziet dat de Pacific Standard Time nog steeds wordt weergegeven in de container:

    PS C:\> Get-TimeZone
    
    Id                         : Pacific Standard Time
    DisplayName                : (UTC-08:00) Pacific Time (US & Canada)
    StandardName               : Pacific Standard Time
    DaylightName               : Pacific Daylight Time
    BaseUtcOffset              : -08:00:00
    SupportsDaylightSavingTime : True
    

    Houd er rekening mee dat wanneer u de container voor het eerst start, de configuratie is ingesteld op wat er is geconfigureerd bij het maken van de basisinstallatiekopieën totdat u deze zelf configureert. In de meeste gevallen voor Windows-basisinstallatiekopieën is de standaardwaarde Pacific Standard Time.

  3. Stel vervolgens de tijdzone van de container in op 'Samoa Standard Time':

    PS C:\> tzutil /s "Samoa Standard Time"
    PS C:\> tzutil /g
    Samoa Standard Time
    PS C:\> Get-TimeZone
    
    Id                         : Samoa Standard Time
    DisplayName                : (UTC+13:00) Samoa
    StandardName               : Samoa Standard Time
    DaylightName               : Samoa Daylight Time
    BaseUtcOffset              : 13:00:00
    SupportsDaylightSavingTime : True
    

    De tijdzone van de container is nu bijgewerkt naar Samoa Standard Time, maar de host blijft op Central Asia Standard Time. Deze configuratie blijft behouden bij het opslaan van de status van de container.

  4. Als u de container opnieuw opstart zonder de status eerder op te slaan, wordt de tijdzone ingesteld op de tijdzone van de host, zoals hieronder wordt weergegeven:

    PS C:\>tzutil /g
    Central Asia Standard Time
    PS C:\> Get-TimeZone
    
    Id                         : Central Asia Standard Time
    DisplayName                : (UTC+06:00) Astana
    StandardName               : Central Asia Standard Time
    DaylightName               : Central Asia Daylight Time
    BaseUtcOffset              : 06:00:00
    SupportsDaylightSavingTime : False