How to deploy MySQL server repeatedly
I think it depends on the context.
I feel your pain with regard to needing to tinker and tweak a MySQL/MariaDB instance. It's not extremely difficult to get an instance up and running and THEN populate the DB from, say, a mysqldump by attaching volumes to the MySQL instance either using a Dockerfile for the instance or by &quot;manually&quot; bash-ing into it and loading your tables, tweaking your network config, setting up complex user permissions, etc.
But it's usually a STRUGGLE to deploy a &quot;ready to go&quot; mysql instance from a docker-compose.yml in my initial experience using Docker Composer for a MySQL container in an app deployment, but it IS doable.
What kind of scale are you trying to achieve? Do you NEED Kubernetes or Docker Swarm? I think in the case of most apps, the answer is honestly no. You can almost always come up with a crafty workaround with ba(sh) scripts or RUN/CMD (Dockerfile) or command: (docker-compose).
Are you trying to support an automated deployment? or just get an app up and running? or trying to increase resilience? Increase capacity at scale?