Docker のタイムゾーンの問題とデータ移行の問題

Docker のタイムゾーンの問題とデータ移行の問題

最新のソリューション:

-v /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone -v /etc/localtime:/etc/localtime:ro

docker run --name tomcat-service-0 -d -p 8080:8080 -v /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone -v /etc/localtime:/etc/localtime:ro -v /home/zjy/logs/tomcat-service-0:/usr/local/tomcat/logs -v /home/zjy/code/ligu/target:/usr/local/tomcat/webapps tomcat

質問1

Docker を使用してプロジェクトをデプロイしたところ、Docker コンテナ内のタイムゾーンがサーバーの時間と 8 時間異なることが判明しました。
-v /etc/localtime:/etc/localtime を使用してサーバーの時間とコンテナの時間が同期されていますが、コンテナ内の Tomcat のタイムゾーンは依然として 8 時間異なります。

例示する

-v /etc/localtime:/etc/localtime

起動時にこのコマンドを使用すると、サーバーとコンテナのシステム時刻のみがマウントされます。コンテナに入り、「date」コマンドを実行すると、コンテナ内の時刻は確かに変更されますが、コンテナ内で Tomcat が実行される環境の日付は実際には変更されません。
Tomcat イメージをプルすると Tomcat コンテナのタイムゾーンが固定されるため、唯一の解決策は、Tomcat イメージをコンパイルするときにローカル サーバーの時間をイメージにバインドすることです。

解決策(超簡単)

dockerFile を使用してイメージをコンパイルします。 Dockerfileは次の通りです

# ベースイメージをプルする 
tomcat:latest から 
ENV TZ=アジア/上海
実行 ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone

次のコマンドを実行します

コマンド形式:
$docker build -t イメージ名 Dockerfileパス
docker build を実行します。

その後、コンテナを起動するときに、コンパイルされたTomcatを使用します。

図のように

ここに画像の説明を挿入

Dockerコンテナの移行

例示する

Docker によってデプロイされたサーバー (データベースなど) が変更され、新しいアドレスにデプロイする場合、このデータを移行する方法は多数あります。

データベースの場合:

1 MySQLのマスタースレーブレプリケーションバックアップを使用します。プロジェクト運用中は、MySQLサーバーを複数のアドレスにバックアップします。詳細については、次のアドレスを参照してください:https://zhangjy520.github.io/

2 MySQL を起動するときに、-v を使用してローカル パスとコンテナ パスをマウントし、移行時にローカル パスを新しいサーバーにコピーします。
-v /home/mysql/master/data/db-conf:/etc/mysql/ -v /home/mysql/master/data/db-data:/var/lib/mysql

3 MySQLデータベースをエクスポートし、比較的低い新しいアドレスにインポートします。

4 Docker コンテナ移行を使用します。このブログは主にdockerについてです。ここでは主にdocker migrationの使い方についてお話します。

ソリューション(超簡単)コンテナ移行

export / import

ソースサーバーで実行

docker export 83271b648212 >time.tar // コンテナをエクスポートします。ここでの数字はコンテナ ID です。tarball が取得されます。

説明: この圧縮パッケージを開くと、実際には Linux サーバーのディレクトリ構造であることがわかります。このコマンドは、コンテナーとコンテナーが実行される環境をパッケージ化します。

宛先サーバーで実行

cat time.tar | sudo docker import - time:v2 //コンテナをインポートしてイメージを取得します。コマンド/bin/bashでdocker runを使用します。
ファイルを含む以前のコンテナを取得できます

画像を開始

sudo docker run -itd --name import_test -p 8087:8080 time:v2 /bin/bash 

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

ここに画像の説明を挿入

保存/読み込み

sudo docker 保存 web > web.tar
sudo docker load < web.tar

これで、docker のタイムゾーンの問題とデータ移行の問題に関するこの記事は終了です。docker のタイムゾーンの問題とデータ移行の問題の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • Dockerコンテナのタイムゾーン調整操作
  • Docker でタイムゾーンの問題に対処する方法
  • 作成されたDockerコンテナの時刻表示エラー/日付エラー/タイムゾーンエラー
  • docker タイムゾーンの変更と一般的な docker コマンドの詳細な説明
  • Dockerコンテナのタイムゾーンと時刻同期の問題を解決する方法
  • Docker イメージを作成してコンテナを起動する 2 つの方法の違い (要約)
  • Docker コンテナのタイムゾーン エラーの問題

<<:  Mysqlがデータベースに接続するときのホストとユーザーのマッチングルールについての簡単な説明

>>:  JavaScript の手ぶれ補正とスロットリングの詳細な説明

推薦する

JSX を使用してマークアップ コンポーネント スタイルの開発を作成する例 (フロントエンドのコンポーネント化)

目次JSX環境の構築NPMを初期化するwebpackをインストールするBabelをインストールするw...

一般的なメールボックスで正常に表示できる HTML メールを作成するためのヒント

HTML メールを送信するためのヒント: スタイルを使用してインライン CSS を記述する、使用する...

HTML のフォームフォームのメソッド属性の紹介

1 メソッドは、データをサーバーに送信する方法を指定するプロパティです。 2 post と get ...

16 の XHTML1.0 と HTML の互換性ガイドラインの概要

1.ページを XML タイプとして宣言しないでください。ページでは UTF-8 または UTF-16...

LinuxサーバのSSHクラッキング防止方法(推奨)

1. Linuxサーバーは、/etc/hosts.denyを設定して、相手のIPがSSH経由でサー...

MySQL Server 8.0.13.0 インストールチュートリアル(画像とテキスト付き)

MySQL 6.1.3 をベースにした 8.0.13 をインストールします。 MySQL 8.0....

Mysql 日付クエリの詳細な紹介

現在の日付を照会する CURRENT_DATE() を選択します。 CURDATE() を選択する;...

JavaScript でウェブ プレーヤーを実装する

今日は、JavaScript を使用して Web ページ上にプレーヤーを作成する方法を紹介します。誰...

MySQL をインストールした後に調整する必要がある 10 のパフォーマンス設定項目

このブログでは、MySQL データベースをインストールした後に調整することが推奨される 10 のパフ...

IEのクラッシュバグ

コードをコピーコードは次のとおりです。 <スタイル タイプ="text/css&qu...

複数クリックを防ぐVueの実践

通常、クリック イベントは、メッセージ リマインダーのさまざまな状況に分割されます。これらが処理され...

Dockerのヘルス検出メカニズム

コンテナの場合、最も単純なヘルスチェックはプロセス レベルのヘルスチェックであり、プロセスが稼働して...

MySQL インデックスの一般的な問題の概要

Q1: データベースにはどのようなインデックスがありますか?メリットとデメリットは何ですか? 1. ...

Apache ソースコードのインストールと仮想ホストの設定に関する詳細なチュートリアル

ソースからApacheをインストールする1. Apacheソースコードをアップロードして必要なソフト...

Alibaba Cloud Server Ubuntu 設定チュートリアル

Alibaba Cloud のカスタム Ubuntu イメージのインポートには、OSS スナップショ...