web-dev-qa-db-ja.com

WindowsコンテナのTimeZoneの設定

Windows Nano Server 2019 Build1809に基づくWindowsContainerのタイムゾーンを設定しようとしています。

Linuxコンテナでこれを行う最も簡単な方法の1つは、以下に示すようにTimeZone環境変数を設定することです。

docker run -e TZ=Asia/Kolkata ubuntu date

Windowsコンテナに似たものはありますか?一般的なウィンドウアプローチに基づいて、PowerShellを使用してエントリポイントスクリプトに設定しようとしています(以下を参照)が、エラーも発生します。

Set-TimeZone -Name "India Standard Time"
Set-TimeZone : Access is denied
At line:1 char:1
+ Set-TimeZone -Name "India Standard Time"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : FromStdErr: (:) [Set-TimeZone], Win32Exception
+ FullyQualifiedErrorId : SetTimeZoneFailed,Microsoft.PowerShell.Commands.SetTimeZoneCommand

Windows Nanoserver 2019 Build 1809に基づくWindowsコンテナでこれをどのように行うことができるかについてのアイデアはありますか?

5
goodbye_for_now

Windows Server Coreコンテナーで、タイムゾーン、言語、Windowsの場所などのグローバリゼーション設定を適切に設定する方法はありません。

  • tzutilは特権の欠如エラーをスローします
  • コンテナの起動時にレジストリ設定は無視されます

コンテナホストで正しいタイムゾーンを確保する必要があるようです。それはあまり意味がありません、AFAIK、コンテナに関するすべては船です一度イメージとして実行し、環境の分離と整合性..でどこでも実行できますか?!

とにかく、あなたはそれについてのより多くの詳細を見ることができます githubの問題

また、この動作を変更するために、これを開きました Windows Serverユーザーボイスに関する提案

また、これを開きました Azure AKSホスト構成を改善するための機能の提案 タイムゾーン用。

2

tzutilコマンドを使用しようとしましたか?

  • 方法1:

    コマンドを使用してオーストラリアのタイムゾーンを設定する例を次に示します。

    tzutil /s "AUS Eastern Standard Time"
    
  • 方法2:

    レジストリエントリHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformationタイムゾーンに関連するすべての情報があります。

    正しいタイムゾーンの仮想マシンまたは物理マシンから、レジストリ値をエクスポートしてコンテナにインポートできます。

2
Leandro Scardua

Windowsコンテナの場合、ホストと同期でき、対応するタイムゾーンがホストOSのタイムゾーンに設定されていることがわかったので、DockerコンテナのTimeZoneを設定するために特別なことをする必要はありません。 。

0
goodbye_for_now