Dockerでのマウント

バインドマウント

ホスト側のディレクトリをコンテナと共有したい場合に使う。

ボリュームマウント

コンテナを破棄してもデータを残しておきたいが、ホスト側と共有する必要がない場合に使う。データベースのデータなど。

ボリュームのバックアップ

複数のコンテナから同じボリュームをマウントすることは可能なため、別のコンテナを立ち上げてバックアップ処理を行うことができる。

docker run --rm --mount type=volume,src=バックアップ元のボリューム,dst=マウント先 --mount type=bind,src=ホストのバックアップディレクトリ,dst=マウント先 busybox バックアップコマンド

ボリュームの指定が面倒な場合は、--volumes-fromオプションを使ってコンテナを指定して同じ設定でマウントさせることもできる。

docker run --rm --volumes-from コンテナ名 --mount type=bind,src=ホストのバックアップディレクトリ,dst=マウント先 busybox バックアップコマンド

データ不整合の可能性がないなら、元のコンテナを起動したままでも実行することができる。