다음을 통해 공유


가상화된 표준 시간대

적용 대상: Windows Server 2025, Windows Server 2022, Windows Server 2019,

Windows 컨테이너는 호스트와 별도로 가상화된 표준 시간대 구성을 유지하는 기능을 지원합니다. 일반적으로 호스트 표준 시간대에 사용되는 모든 구성은 가상화되었으며 각 컨테이너에 대해 인스턴스화됩니다. 이 기능을 사용하면 Windows 컨테이너는 다음과 같은 동작을 제공합니다.

  • 컨테이너를 시작할 때 호스트의 표준 시간대가 상속되고 컨테이너 내에 유지됩니다. 컨테이너가 실행되는 동안 호스트의 표준 시간대가 변경되면 컨테이너 내에 저장된 표준 시간대는 변경되지 않습니다. 호스트의 표준 시간대를 다시 상속하려면 컨테이너를 다시 시작해야 합니다.
  • 컨테이너는 사용자가 컨테이너 내에서 표준 시간대를 명시적으로 구성할 때까지컨테이너를 시작할 때 관찰되는 호스트의 표준 시간대 구성을 유지합니다. 컨테이너 내에서 표준 시간대를 설정하면 구성이 가상화되고 컨테이너가 더 이상 호스트를 참조하지 않습니다.
  • 컨테이너의 표준 시간대를 구성한 후 컨테이너의 상태를 저장하면 다시 부팅 시 표준 시간대 구성이 유지됩니다.

이제 시스템 표준 시간대 구성과 관련된 모든 커널 모드 및 사용자 모드 API가 컨테이너를 인식합니다. 컨테이너 컨텍스트에서 실행되는 스레드가 시스템 API를 호출하여 현지 시간을 쿼리하는 경우 호스트 대신 컨테이너의 표준 시간대 구성을 검색합니다. 컨테이너 내에서 작성된 표준 시간대 데이터는 이제 컨테이너별 스토리지에 유지되며 해당 컨테이너는 시작 중에 호스트의 현재 표준 시간대 데이터를 더 이상 상속하지 않습니다. 즉, 표준 시간대를 설정하면 컨테이너는 다시 부팅 시 구성된 표준 시간대를 계속 사용합니다. 이미지 위에 빌드된 모든 컨테이너는 레이어 중 하나에서 명시적으로 설정된 경우 표준 시간대 구성을 상속합니다.

다음 표에서는 각 SKU에 대해 지원되는 빌드를 보여 줍니다.

SKU (재고 관리 단위) 지원되는 빌드
Windows Server 2019 10.0.17763.1935 이상
20H2 SAC 10.0.19042.985 이상
Windows Server 2022 모든 버전
Windows Server 2025 모든 버전

컨테이너의 표준 시간대를 구성하려면 어떻게 해야 하나요?

먼저 이 기능이 포함된 호스트 및 게스트 버전 둘 다 필요합니다. 즉, 2105B 서비스 패치 이상을 실행해야 합니다. 이전 버전을 실행하면 컨테이너의 동작을 호스트 또는 게스트에 영향을 주지 않는 구성으로 호스트의 표준 시간대를 미러링하는 것으로 되돌리기만 하면 됩니다.

메모

표준 시간대를 구성하려면 관리 권한, 특히 SeTimeZonePrivilege가 필요합니다. ContainerAdministrator 계정에는 이 권한이 있습니다. 따라서 워크로드에 필요한 최소 권한으로 실행하고 표준 시간대 설정과 같은 관리 작업에 대해 ContainerAdministrator 계정을 예약하는 것이 좋습니다.

컨테이너 표준 시간대를 구성하는 권장 방법은 TZUtil.exe 유틸리티 또는 PowerShell의 Set-TimeZone cmdlet사용하는 것입니다. 이러한 유틸리티는 잘 유지 관리되며 표준 시간대를 쉽게 설정할 수 있는 편리한 기능을 제공합니다. 다른 모든 메서드는 시스템 API와 직접 상호 작용해야 합니다. TZUtil.exe 또는 PowerShell이 포함된 기본 이미지 버전은 바로 작동합니다. Nanoserver 기본 이미지는 기본적으로 TZUtil.exe 또는 PowerShell을 지원하지 않으므로 시스템 API와 상호 작용하는 사용자 지정 유틸리티가 필요하므로 예외입니다. 어떤 경우든 새로 작성된 애플리케이션은 반드시 필요한 경우가 아니면 운영 체제 표준 시간대 종속성을 사용하지 않아야 하며 대신 애플리케이션 데이터 및 논리 내에서 고려해야 합니다.

Windows Server 2019 사용 예제

Windows Server 2019 Server Core 기본 이미지를 사용하여 가상화된 표준 시간대를 설정하는 예제는 다음과 같습니다.

  1. 컨테이너를 시작한 후 아래와 같이 표준 시간대를 호스트의 표준 시간대(이 예제에서는 태평양 표준시)로 설정합니다.

    PS C:\> tzutil /g
    Pacific Standard Time
    
    
  2. 호스트 표준 시간대를 중앙 아시아 표준시(UTC+6:00)로 설정하고 태평양 표준시도 컨테이너에 계속 표시됩니다.

    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
    

    처음으로 컨테이너를 시작할 때 구성은 기본 이미지 을 만들 때 설정된 항목으로 되어 있으며, 사용자가 스스로구성을 할 때까지 이러한 설정이 유지됩니다. Windows 기본 이미지의 경우 대부분의 경우 기본값은 Pacific Standard Time입니다.

  3. 다음으로 컨테이너의 표준 시간대를 "사모아 표준시"로 설정합니다.

    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
    

    이제 컨테이너의 표준 시간대가 사모아 표준시로 업데이트되었지만 호스트는 중앙 아시아 표준시로 유지됩니다. 이 구성은 컨테이너의 상태를 저장할 때 유지됩니다.

  4. 이전에 상태를 저장하지 않고 컨테이너를 다시 시작하면 표준 시간대가 아래와 같이 호스트의 표준 시간대로 설정됩니다.

    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