docker を使用して、ローカルの開発環境でバージョン管理されたデータベースを使用しています (たとえば、データベースの状態をスナップショット/元に戻すことができるようにするため)。仕事の性質上必要です。トランザクションを使用して目的を達成できません [理由の 1 つ - 一部のステートメントは DDL です]
したがって、1 つの大きなファイル (MySQL Inno db ファイル) を含む docker コンテナーがあります。
このファイルを少し変更して (テーブルの行を更新するなど)、コンテナーをコミットすると、新しいレイヤーが作成され、ファイル内の数バイトだけが変更されたとしても、このレイヤーのサイズはこの巨大なファイルのサイズになります。
docker ファイルの場合は「アトミック」構造であり、ファイルが変更されている場合、そのコピーが新しいレイヤーに作成され、このレイヤーが後で画像に含まれるために発生することを理解しています
この動作を変更し、ファイル レベルで差分を保存するように Docker を作成する方法はありますか? たとえば、10 GiG ファイルの 10 バイトが変更された場合、サイズが 10 GiG より小さいレイヤーを作成しますか?
Mb 他のストレージ エンジンを使用できますか? [どれ?(mb 画像形式は異なり、ファイル コンテンツ レベルで差分を保存できます)