Ein Container kann keine verschiedenen Images nutzen. Aber aus einem Image kannst du mehrere unterschiedliche Container/Instanzen erstellen.
Ich denke, du hast deine compose nicht in den entsprechenden Mountsordner der Container?
Bei mir sind die compose-Files gleich in den entsprechenden Ordnern und die Unterordner als relativen Pfad. Alle Ordner liegen im Ordner /docker auf dem entsprechenden Volumen. Ich muss also nur den Ordner Docker ins Backup schieben und habe alles gesichert.
Nach dem Wechseln oder Wiederherstellung muss man nur noch das compose-File auswählen und los geht es.
MySQL bzw. MariaDB nutze ich nicht, weil die meisten Container bei mir Postgres nutzen. Postgres ist noch etwas performanter, aber viel weiter verbreitet (siehe Pulls). Das ist aber eher Geschmackssache. Unter dem Strich kommt das gleich heraus. Einige kleine Container/Datenbanken verwende sich mit SQLite, was auch „on the fly“ weggespeichert werden kann.
Dass HA besser in der VM läuft, haben wir ja schon geschrieben. Es ist schon einige Zeit bei mir her mit MariaDB, das müsste ich mir noch einmal ansehen, wie das war. Aber auch dort würde ich eher auf einen Dump setzen, wie bei Datenbanken üblich ist, und wie du es über die Konsole als auch über phpMyAdmin machen kannst.
Wenn du mit deiner Arbeitsweise glücklich bist, will ich nichts dagegen sagen. Jeder soll es machen, wie er es für nötig hält, aber manchmal geht es auch einfacher. Es sollte nur ein Tipp sein. Natürlich sollte auch alles ausprobiert werden incl. Wiederherstellen, und zwar bevor man es braucht und den Notfall einsetzt. Wenn der Fall eintritt, ist es für viele schon zu spät.