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 オブジェクト機能の紹介

推薦する

ウェブページの幅を携帯電話の画面(ビューポート)の幅に自動的に適応させる実装コード

一般的な書き方は次のとおりです。 XML/HTML コードコンテンツをクリップボードにコピー<...

MySQL スレーブ ライブラリ Seconds_Behind_Master 遅延の概要

目次MySQL スレーブ ライブラリ Seconds_Behind_Master 遅延の概要1. 遅...

MySQL 8.0.11 圧縮版のインストールと設定方法のグラフィックチュートリアル

MySQL 8.0圧縮パッケージのインストール方法、詳細は次のとおりです知らせ:オペレーティング シ...

Linux で JDK 環境を構成する方法

1. 公式ウェブサイトにアクセスして、jdk-8u162-linux-x64.tar.gzなどのLi...

docker runコンテナの自動終了の解決策

今日、Dockerfile を使用してイメージを作成したときに問題が発生し、イメージの実行後にコンテ...

Mysql5.7 以降での ONLY_FULL_GROUP_BY エラーの解決方法

最近、開発プロセス中に、プロジェクト開発環境に接続されている MySQL データベースは Aliba...

MySQL 文字列連結関数 GROUP_CONCAT の詳細な説明

前回の記事では、クロステーブル更新について書きました。自分が書いた SQL を見たとき、自分がバカみ...

JavaScript の新しい要素トラバーサルプロパティを使用して子要素をトラバースする方法を学びます

目次1. ChildNodes属性のトラバーサル2. 要素シリーズ属性のトラバーサル以前は、chil...

Docker nginx + https サブドメイン設定の詳細なチュートリアル

今日はたまたま友人のサーバーの移転を手伝うことになり、サーバーの基本的な設備の設定を行ったのですが、...

CocosCreator 入門チュートリアル: ネットワーク通信

ネットワーク通信の概要オンライン ゲームを開発する場合、必然的にネットワーク通信に対処する必要があり...

MySQL 5.6 から 5.7 にアップグレードする際のマスター スレーブ遅延問題のトラブルシューティング

最近、Zabbix データベースを MySQL 5.6 から 5.7 にアップグレードしたときに、マ...

Ubuntu環境にAnaconda3をインストールするための完全な手順

目次Anaconda の紹介1. ダウンロード1.1 インストールパッケージを保存するフォルダを作成...

js を使用してファイルが UTF-8 でエンコードされているかどうかを判断する方法

従来の解決策FileReader を使用して UTF-8 形式のファイルを読み取り、ファイルの内容に...

MySQL の異常なエラー ERROR: 2002 を解決する方法

最近、MySQL の起動中にエラーが発生しました。エラー メッセージは次のとおりです。 エラー 20...

MySQL データベースの大文字と小文字の区別の問題

MySQL では、データベースはデータ ディレクトリ内のディレクトリに対応します。データベース内の各...