dockerで開発中、バッチの修正をしていて時間通りに動くか確認しようと思い、docker内のサーバーの時間を変更してみる
date -s “2024-01-01 00:00:00”
だが、変更しても反映されない???
設定間違えたかと思ったが設定は合っている
バッチが動かない!!
と思って焦ったが、これはどうもdocker内のサーバーだからぽい
dockerは所詮win上で動く仮想環境にすぎないので、ホストであるwindowsの時間を変更しないとdocker内のサーバーの時間も変更されないらしい
という事でwinの時間を変更!!
手順は以下
・powershellを管理者権限で起動
・set-date -date "2026-01-01 08:59:00" // 2026年1月1日の9時にバッチを動かしたい場合
これでwindowsの時間を見てみると、変更された!
試しにdockerのバッチログを見てみると
動いたーーー!!
という事で、docker内のサーバーの時間を変更したい場合は、ホストであるwindowsの時間を変更する必要があるので注意!!
テストが終わったら、winの時間を戻すのを忘れずに
Restart-Service W32Time -Force
これで自動で時間が戻ります。

コメント