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コンテナでこれをどのように行うことができるかについてのアイデアはありますか?
Windows Server Coreコンテナーで、タイムゾーン、言語、Windowsの場所などのグローバリゼーション設定を適切に設定する方法はありません。
tzutil
は特権の欠如エラーをスローしますコンテナホストで正しいタイムゾーンを確保する必要があるようです。それはあまり意味がありません、AFAIK、コンテナに関するすべては船です一度イメージとして実行し、環境の分離と整合性..でどこでも実行できますか?!
とにかく、あなたはそれについてのより多くの詳細を見ることができます githubの問題 。
また、この動作を変更するために、これを開きました Windows Serverユーザーボイスに関する提案 。
また、これを開きました Azure AKSホスト構成を改善するための機能の提案 タイムゾーン用。
tzutil
コマンドを使用しようとしましたか?
方法1:
コマンドを使用してオーストラリアのタイムゾーンを設定する例を次に示します。
tzutil /s "AUS Eastern Standard Time"
方法2:
レジストリエントリHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
タイムゾーンに関連するすべての情報があります。
正しいタイムゾーンの仮想マシンまたは物理マシンから、レジストリ値をエクスポートしてコンテナにインポートできます。
Windowsコンテナの場合、ホストと同期でき、対応するタイムゾーンがホストOSのタイムゾーンに設定されていることがわかったので、DockerコンテナのTimeZoneを設定するために特別なことをする必要はありません。 。