ホームページ  >  記事  >  運用・保守  >  Linux と Docker: コンテナー データを永続化してバックアップするにはどうすればよいですか?

Linux と Docker: コンテナー データを永続化してバックアップするにはどうすればよいですか?

WBOY
WBOYオリジナル
2023-07-28 23:06:21883ブラウズ

Linux と Docker: コンテナー データの永続化とバックアップを実行するにはどうすればよいですか?

クラウド コンピューティングとコンテナ テクノロジの急速な発展により、Docker は現在最も人気があり、広く使用されているコンテナ化プラットフォームの 1 つになりました。アプリケーションの開発とデプロイメントに Docker を使用するプロセスでは、データの永続化とバックアップが非常に重要なタスクです。この記事では、Linux と Docker でコンテナー データの永続化とバックアップを実行する方法と、対応するコード例を紹介します。

  1. データの永続性

Docker では、コンテナ内のデータはデフォルトでイメージ内に保存されます。つまり、コンテナが削除されると、データも保存されます。削除されました。紛失しました。データの永続性を実現するために、データ ボリュームを使用してコンテナ内のデータをホストに関連付けることができます。

以下は、データ ボリュームを使用する Dockerfile の例です:

FROM ubuntu:latest
VOLUME /data
COPY myapp /data

この例では、最初にデータ ボリューム /data を定義し、次に #コンテナ ##myapp ファイルがデータ ボリュームにコピーされます。このようにして、このコンテナを実行するときに、ホスト上のディレクトリをコンテナ内の /data にマウントすることで、コンテナ内のデータにアクセスできます。

次のコマンドを使用して、このコンテナを実行し、データの永続化を実行します。

$ docker run -v /path/to/host/dir:/data myimage

上記のコマンドでは、

/path/to/host/dir はホスト A 上にあります。このディレクトリは、/data のコンテナにマウントされます。このようにして、ホスト上のデータがコンテナ内のデータと同期され、データの永続性が実現されます。

    データ バックアップ
コンテナ内のデータについては、通常、データ損失を防ぐために定期的にバックアップを実行する必要があります。 Linux では、cp コマンド、rsync コマンド、tar コマンドを使用するなど、データをバックアップするさまざまな方法があります。以下は、バックアップに rsync コマンドを使用する例です。

$ rsync -avz --delete /path/to/source/dir /path/to/backup/dir

この例では、rsync コマンドを使用して、

/path/to/source/dir のデータを # に同期します。 ## /パス/バックアップ/ディレクトリ。このうち、-avz オプションはアーカイブ モードを実行し、ファイルのアクセス許可と再帰的バックアップを保持することを意味し、--delete オプションはバックアップ ディレクトリに存在しないソース ディレクトリ ファイルを削除することを意味します。 。 自動データ バックアップを実現するには、上記のコマンドを Cron タスクに追加します。 Cron は、タスクを定期的に実行するために使用される Linux のサービスです。

/etc/crontab

ファイルを編集することで、バックアップ タスクのスケジュールされたトリガーを追加できます。以下は簡単な例です: <pre class='brush:php;toolbar:false;'># 每天凌晨3点进行数据备份 0 3 * * * root rsync -avz --delete /path/to/source/dir /path/to/backup/dir</pre>上の例では、データ バックアップ タスクが毎日午前 3 時に 1 回実行されるように設定しています。

要約すると、データ ボリュームと定期的なバックアップ方法を使用することで、Linux と Docker でコンテナー データの永続化とバックアップを実現できます。このアプローチにより、アプリケーション データの信頼性と継続性が確保され、データのセキュリティと可用性が向上します。

参考資料:

Docker ドキュメント。https://docs.docker.com/storage/volumes/
  1. Linux ハンドブック。https://linuxhandbook.com /crontab-syntax を理解する/

以上がLinux と Docker: コンテナー データを永続化してバックアップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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