この投稿の目的は、Docker サーバーの同じタイムゾーンと一致するようにコンテナーのタイムゾーンを設定することです。これにより、ユーザーは両方のインスタンス (Docker サーバーとコンテナー) で同じ時間を表示できるようになります。ほとんどの場合、コンテナーは Docker サーバーと同じ時間を使用しません。この投稿では、これを構成する方法を示します。
変更前はこんな感じです。
コンテナ時間:
# docker exec 15c0c99b5c65 date Wed Aug 23 15:40:24 UTC 2019
Docker サーバー時間:
# date Wed Aug 23 11:40:26 EDT 2019
Docker タイム ゾーンの変更
この投稿で説明されている例では、Docker サーバーは EDT タイム ゾーンにあり、コンテナーは UTC タイム ゾーンにありました。両方のインスタンスでタイム ゾーンを同じにする必要がある場合は、以下の手順に従ってこれを完了してください。
1. コンテナーにログインします (アタッチします)。
# docker attach [container]
2. コンテナー内のこのファイルをバックアップします。
# mv /etc/localtime /etc/localtime.backup
3. 以下のファイルへのソフト リンクを作成し、このコマンドを実行してください。
# ln -s /usr/share/zoneinfo/EST5EDT localtime
4. 最後に、以下のコマンドを実行して、Docker サーバーと同じようにタイム ゾーンが EDT に変更されていることを確認します。
# date
これらの手順の後、時間は両方のインスタンスで同じになります。