Linux と Docker: コンテナー データの永続化とバックアップを実行するにはどうすればよいですか?
クラウド コンピューティングとコンテナ テクノロジの急速な発展により、Docker は現在最も人気があり、広く使用されているコンテナ化プラットフォームの 1 つになりました。アプリケーションの開発とデプロイメントに Docker を使用するプロセスでは、データの永続化とバックアップが非常に重要なタスクです。この記事では、Linux と Docker でコンテナー データの永続化とバックアップを実行する方法と、対応するコード例を紹介します。
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 のコンテナにマウントされます。このようにして、ホスト上のデータがコンテナ内のデータと同期され、データの永続性が実現されます。
$ rsync -avz --delete /path/to/source/dir /path/to/backup/dir
/path/to/source/dir のデータを # に同期します。 ## /パス/バックアップ/ディレクトリ
。このうち、-avz
オプションはアーカイブ モードを実行し、ファイルのアクセス許可と再帰的バックアップを保持することを意味し、--delete
オプションはバックアップ ディレクトリに存在しないソース ディレクトリ ファイルを削除することを意味します。 。 自動データ バックアップを実現するには、上記のコマンドを Cron タスクに追加します。 Cron は、タスクを定期的に実行するために使用される Linux のサービスです。
ファイルを編集することで、バックアップ タスクのスケジュールされたトリガーを追加できます。以下は簡単な例です: 要約すると、データ ボリュームと定期的なバックアップ方法を使用することで、Linux と Docker でコンテナー データの永続化とバックアップを実現できます。このアプローチにより、アプリケーション データの信頼性と継続性が確保され、データのセキュリティと可用性が向上します。 参考資料: 以上がLinux と Docker: コンテナー データを永続化してバックアップするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。# 每天凌晨3点进行数据备份
0 3 * * * root rsync -avz --delete /path/to/source/dir /path/to/backup/dir