Dockerコンテナとホストマシン間の8時間の差の問題を解決する

Dockerコンテナとホストマシン間の8時間の差の問題を解決する

デプロイに docker-compose を使用すると、出力ログと関連イベントが検証されて出力されるため、イベントと実際との間に 8 時間の差が生じます。

トラブルシューティング:

1. ホスト時間を確認します。

# 日時を表示
2021年9月29日水曜日 11:12:44 CST
# タイムゾーンの日付を確認する -R
2021年9月29日水曜日 11:13:34 +0800

2.コンテナに入り、時間を表示します

# すべてのコンテナを表示 docker ps -a
# コンテナに入る docker eec -it [コンテナID] /bin/bash
# 日時を表示

この時、ホストの時間はdockerコンテナの時間と同じでした。Baiduで検索した結果、タイムゾーンの問題であることがようやく分かりました。

Linux 時間:

コンテナ時間:

原因: ホスト マシンにはタイム ゾーンが設定されていますが、Docker コンテナーには設定されていないため、両者の間に 8 時間の時差が生じています。

CST は (中国上海時間、東部標準時ゾーン 8) を参照します。
UTCは(協定世界時、標準時)を指します。
したがって、これら 2 つの時間の差は実際には 8 時間になるはずです。

したがって、両者のタイムゾーンを統一する必要がある

解決:

1. Docker-compose 構成ボリュームのマウント

ボリューム:
      - /usr/share/zoneinfo/アジア/上海:/etc/localtime

2.Dockerfileはコマンドを実行し、対応するタイムゾーンをtimezoneに出力します。

RUN echo "Asia/shanghai" > /etc/timezone
 
実行 cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

3. コンテナを削除して再実行

#docker rm [コンテナID]を削除
# docker-compose を起動 -f [ファイル名] up -d

概要: 2 時間の時差は、コンテナ内の /etc/timezone の問題によって発生します。対応するタイムゾーンを設定できます。

これで、docker コンテナとホストマシンの 8 時間の違いに関するこの記事は終了です。docker コンテナとホストマシンに関するより関連性の高いコンテンツについては、123WORDPRESS.COM の過去の記事を検索するか、以下の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerはコンテナとホスト間でのシェルコマンドのシームレスな呼び出しを可能にします
  • Dockerコンテナにホストディレクトリへの書き込み権限がない場合の解決策
  • Dockerコンテナがホストポートにアクセスできない場合の解決策
  • ホスト上のDockerコンテナ内でシェルまたはプログラムを実行する
  • Dockerコンテナ内でホストDocker操作を呼び出して実行する
  • dockerコンテナがIP経由でホストマシンにアクセスできない問題を解決する方法の詳細な説明
  • Dockerコンテナを使用してホストネットワークにアクセスする方法

<<:  thead、tfoot、tbodyを使用して表を作成します

>>:  新しい ECMAscript オブジェクト機能の紹介

推薦する

CSS3 はクールな 3D 回転遠近法効果を実現します

CSS3はクールな3D回転パースペクティブを実現します3D アニメーション効果はますます人気が高まっ...

JavaScript キャンバス テトリス ゲーム

テトリスは非常に古典的な小さなゲームで、私もそれを書いてみました。しかし、できるだけ簡潔で論理的なコ...

MySQL 8.0 の新機能 - チェック制約の紹介

目次序文チェック制約作成、削除、表示制限要約する序文MySQL 8.0 では、チェック制約という非常...

デザイン理論:フォントデザインの基礎

<br />言葉は、人間の思考や感情を伝えるために必然的に生み出されるものです。人類の文...

MySQL 4 の一般的なマスタースレーブレプリケーションアーキテクチャ

目次1つのマスターと複数のスレーブのレプリケーションアーキテクチャマルチレベルレプリケーションアーキ...

LinuxソースコードからTIME_WAITの期間を分析する

目次1. はじめに2. まずLinux環境を紹介しましょう3. TIME_WAIT状態遷移図4. 継...

MySQL での Truncate の使用法の詳細な説明

序文:テーブルをクリアしたいときは、truncate ステートメントをよく使用します。ほとんどの場合...

テキストの両側に水平線を描くための CSS のサンプルコード

この記事では、テキスト中央の両側に水平線を引く効果を実現する CSS のサンプルコードを紹介し、皆さ...

Kafka の Docker デプロイメントと Spring Kafka 実装

この記事は主にDockerによるKafkaのデプロイとSpring Kafkaの実装について紹介しま...

nginx のロケーションで URI の傍受を実装する方法

例:場所のルートとエイリアスルートディレクティブは、ルートによって設定されたディレクトリに検索ルート...

純粋な CSS でカスタムラジオボタンとチェックボックス機能を実装する

1. 効果を達成する 2 知識ポイント2.1 <label> タグHTML では、<...

JavaScript配列をツリー構造に変換する方法

1. 需要バックエンドは、フロントエンドがツリー構造(重複データなし)に変換するためのデータを提供し...

Mac Docker x509証明書の問題を解決する

質問最近、プライベートミラーセンターにログインする必要がありましたが、ログイン時にエラーメッセージが...

MySQL マスタースレーブ構築(複数のマスターと 1 つのスレーブ)の実装アイデアと手順

背景:最近、同社のプロジェクトは同時実行のプレッシャーに耐えられないようなので、最適化が差し迫ってい...

Vue.js プロジェクトの開始方法

目次1. Node.jsとVue 2. ローカル開発環境でフロントエンドのVueプロジェクトを実行す...