方法: 1. 「docker run -name
-v」コマンドを使用して、ホストのローカル時間を共有します。 2. 「docker cp /etc/localtime:container ID/etc/」を使用します。 localtime」コマンドを使用して、ホストのローカル時刻をコピーします。
このチュートリアルの動作環境: linux7.3 システム、docker-1.13.1 バージョン、Dell G3 コンピューター。
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 'Asia/Shanghai' >/etc/timezone \保存後、docker build コマンドを使用して、使用するイメージを生成します。 推奨される学習: 「
docker ビデオ チュートリアル 」
以上がDocker のコンテナ時刻とホスト時刻が同期していない場合はどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。