ホームページ  >  記事  >  運用・保守  >  Docker のコンテナ時刻とホスト時刻が同期していない場合はどうすればよいですか?

Docker のコンテナ時刻とホスト時刻が同期していない場合はどうすればよいですか?

WBOY
WBOYオリジナル
2022-03-08 15:57:368801ブラウズ

方法: 1. 「docker run -name-v」コマンドを使用して、ホストのローカル時間を共有します。 2. 「docker cp /etc/localtime:container ID/etc/」を使用します。 localtime」コマンドを使用して、ホストのローカル時刻をコピーします。

Docker のコンテナ時刻とホスト時刻が同期していない場合はどうすればよいですか?

このチュートリアルの動作環境: linux7.3 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。

Docker のコンテナー時刻とホスト時刻が同期していない場合の対処方法

2 つのタイムゾーンを統一する必要があります。

共有ホストのローカルタイム (方法 1)

コンテナ作成時に起動パラメータを指定し、ローカルタイム ファイルをコンテナにマウントし、時刻が確実に一致するようにします。両方で使用されるゾーンは一貫しています。

docker run --name <name> -v /etc/localtime:/etc/localtime:ro ....

ホストの現地時間をコピーする (方法 2)

docker cp /etc/localtime:【容器ID或者NAME】/etc/localtime

完了後、date コマンドで現在時刻を確認します。

ただし、コンテナ内で実行されているプログラムの時刻は更新されない場合があります。たとえば、コンテナ内で実行されている MySQL サービスは、時刻を更新した後に SQL で MySQL の時刻を確認することで見つけることができます。

select now() from dual;

、時間は変わっていません。

この時点で、mysql が変更された時刻を読み取ることができるように、mysql サービスを再起動するか、Docker コンテナを再起動する必要があります。

カスタム dockerfile を作成する (方法 3)

dockerfile ファイルを作成します。実際には、コンテンツはありません。ファイルの時間形式とタイム ゾーンをカスタマイズするだけです。画像。

FROM redis
 
FROM tomcat
 
ENV CATALINA_HOME /usr/local/tomcat
 
#设置时区
RUN /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
  && echo &#39;Asia/Shanghai&#39; >/etc/timezone \

保存後、docker build コマンドを使用して、使用するイメージを生成します。

推奨される学習: 「

docker ビデオ チュートリアル

以上がDocker のコンテナ時刻とホスト時刻が同期していない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。