>>570
dockerイメージ=プログラム(exeファイル)と考えればいいんだよ。
exeファイルの中に消えたらいけないデータを保存するかい?しないだろ?

つまり保存するデータはdockerイメージの外に保存するんだよ。
それがボリューム。ボリュームっていうのはdockerイメージを起動するときに割り当てる。
例えば任意のディレクトリをボリュームとして使うことができる。
exeファイルを実行するときにデータディレクトリを指定しているようなもんだ

こうやってdockerイメージの外のリソースを起動時に割り当てることで
dockerイメージ内部からはどこで動かしても同じように見えるようになるわけ

ちなみにデータと設定ファイル(アプリ実行中に保存しないもの)は別な。
設定ファイルはdockerイメージに埋め込んでいい(場合によっては外に出すこともある)