手当たり次第に書くんだ

飽きっぽいのは本能

WordPress 投稿時に9時間ずれて予約投稿になって予約投稿失敗 Docker/Kubernetes

WordPressをKubernetes上に構築して自動バックアップ等も組み込み、きれいに出来たと思っていましたが1点だけ問題がありました。

投稿時に9時間ずれて予約投稿になって予約投稿失敗します。

9時間ということでタイムゾーンには間違いないのですが、ホストもコンテナもWordPressも時刻はJSTで正しい状態です。

もしかするとKubernetesの問題の可能性もありますが、具体的な被疑箇所までは特定できていません。

かなり調べて結局お手上げでしたが、ワークアラウンドを見つけました。

投稿時のWordPress上の「すぐに公開する」内の時刻を9時間前にして投稿すると予約投稿にならずに公開できます。

これができなかったらどうやって投稿しようと思っていましたがとりあえずは何とかなりそうです。

[追記]

その後原因が分かりました。原因はDockerfileでのビルド時に指定したタイムゾーンの設定方法です。

問題がある方法は下記の通りです。/usr/share/zoneinfo/Asia/Tokyoをコピーしています。

FROM ubuntu:22.04
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y upgrade
RUN DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install tzdata
RUN cp /usr/share/zoneinfo/Asia/Tokyo /etc/localtime

修正後は下記の通りです。コピーではなくシンボリックリンクに変更しました。/etc/timezoneの変更有無で状態に変化はなかったのですが、デフォルトがUTCになっているので合わせて指定するように変更しました。

これで問題が解消されたのですが、なぜこれで解消するのか背景までは不明でした。

FROM ubuntu:22.04
RUN apt-get update
RUN DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y upgrade
RUN DEBIAN_FRONTEND=noninteractive apt-get -o Dpkg::Options::=--force-confdef -o Dpkg::Options::=--force-confold -y install tzdata
RUN ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
RUN echo "Asia/Tokyo" > /etc/timezone
WordPress 投稿時に9時間ずれて予約投稿になって予約投稿失敗 Docker/Kubernetes

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トップへ戻る