Jenkins修正タイムゾーン(Docker)
説明:jenkinsがdockerコンテナで実行されている場合、jenkinsの時間はコンテナの時間と一致しません.jenkinsではなく、システムで直接動作します.しかし、問題を解決する考え方は一致している.
公式のjenkinsコンテナでjenkinsサービスを実行していますが、jenkinsの時間はdockerコンテナ内の時間と同じですが、
jenkinsのdockerコンテナ時間を表示するには:
Jenkinsの表示時間
時間の差は8時間で、基本的にタイムゾーンの問題を確定することができます.だからインターネットでいくつかの内容を検索して、基本的な解決方法は以下の通りです.メソッド1:jenkins公式にタイムゾーンを変更する方法.しかし基本的にはjenkins,javaのパラメータを修正することで目的を達成する.現在docker容器では処理できません. メソッド2:/etc/localtimeファイルを変更する方法.この方法で処理したが,容器のシステム時間は現地時間と同じであったがjenkinsの時間は8時間差であった.
docker容器の時間が正しい以上、jenkinsの時間は間違っており、jenkinsのタイムゾーンが/etc/localtimeではなく、別の場所を使用していることを示しています.
タイムゾーンが
備考:debianシリーズを検証することでtimezoneというファイルがあり、centosにはこのファイルがありません.だからjenkinsのdocker容器はdebian系のlinuxに基づいていると判断した.
修正/etc/localtime、容器修正時間 修正/etc/timezone、jenkinsのタイムゾーン 修正
最終的にdockerコンテナを構築するコマンドは次のとおりです(他のパラメータがあれば、自分で他のパラメータを追加してください)
または/[my_path]/timezoneを対応するパス に変更 dockerホストシステムにtimezoneファイルが存在しない場合は、timezoneファイルを自分で作成(または別の場所からコピー)することができます.timezoneファイルの内容は次のとおりです. localtimeに関連するファイルが存在しない場合、解決構想はtimezoneと類似しており、これ以上説明しない.
に質問
公式のjenkinsコンテナでjenkinsサービスを実行していますが、jenkinsの時間はdockerコンテナ内の時間と同じですが、
とちょうど8時間差があります.きほんけっていじかんいきもんだいjenkinsのdockerコンテナ時間を表示するには:
docker exec
Jenkinsの表示時間
“jenkins UI-》 -》 ” user.timezone
ぶんせき
時間の差は8時間で、基本的にタイムゾーンの問題を確定することができます.だからインターネットでいくつかの内容を検索して、基本的な解決方法は以下の通りです.
さいぶんせき
docker容器の時間が正しい以上、jenkinsの時間は間違っており、jenkinsのタイムゾーンが/etc/localtimeではなく、別の場所を使用していることを示しています.
jenkins-》 -》
において、タイムゾーンに関するuser.timezone
属性値がEtc/UTC
であることがわかる.どこに保管されているこの値は、/etc/timezoneのはずです.だから/etc/timezoneの設定を試してみます.docker exec my-jenkins cat /etc/timezone
Etc/UTC
タイムゾーンが
Etc/UTC
であることがわかり、基本的にはここが原因であることが確認できます.備考:debianシリーズを検証することでtimezoneというファイルがあり、centosにはこのファイルがありません.だからjenkinsのdocker容器はdebian系のlinuxに基づいていると判断した.
解決する
最終的にdockerコンテナを構築するコマンドは次のとおりです(他のパラメータがあれば、自分で他のパラメータを追加してください)
docker run -d --name ci --privileged=true -v /etc/localtime:/etc/localtime -v /[my_path]/timezone:/etc/timezone jenkins
または
docker run -d --name ci --privileged=true -v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime -v /[my_path]/timezone:/etc/timezone jenkins
Asia/Shanghai