問題
docker-composeで立ち上げたWordpressで記事を書いてみたら、投稿時間がずれていることに気づきました。
具体的に言うと
- 実際の時間:18:30
- 表示された投稿時間:17:47
みたいな感じ。
タームゾーンがズレている感じのズレではなく、中途半端に77分だけズレてます🤔
原因
結論からいうと、WSL2のカーネルの時間がズレていたのが原因でした。
順番に書いていくと、まずWordpressコンテナの時間はどうなってるんだろう?と思って、コンテナの中に入ってdate
コマンドを実行してみたら、👇のようにコンテナの時間もズレてることに気づきました。
# date Sat Nov 20 08:47:00 UTC 2021
要するにWordpressコンテナの時間が狂っているから、投稿時間もズレてしまっているらしい。
じゃあWordpressコンテナの時間を直せばいいんだな!と思ったのですが、コンテナの中って
- hwclockコマンド(システムが保持している時間に合わせるコマンド)
- ntpdateコマンド(どこかのNTPサーバーに問い合わせて時間をあわせるコマンド)
なども使えないみたいなのです。
え、じゃあムリゲーじゃね?と思ったのですが、ふとWSL2の方でもdate
コマンドを実行してみたら、コンテナ内と同じだけ時間がズレていることに気づきました。
Docker Desktop for WindowsってカーネルにWSL2のものを使っているらしいので、じゃあWSL2のカーネルが保持している時間(?)がずれているのか?と思って、WSL2内で
sudo hwclock --hctosys
を実行したら、見事コンテナのほうも時間が直りました。
要するに、根本的な原因はWSL2のカーネルの時間だったのでした。
ちなみに、WSL2のカーネルの時間がズレていたのは、👇のようなバグがあったからかもしれないです
PCをスリープするとWSL 2の日時がずれるバグとそのワークアラウンド – Qiita
そんな感じです。
おわり
コメント