You might find LXD more straightforward. I think docker was first and foremost a development platform, not meant for deploying production appliances. That’s why there’s this nonsense about persistent volumes. If it were designed from the ground up to be a turnkey appliance platform you wouldn’t need to mess around with that stuff because of course you want your filesystem to be persistent between reboots in a production environment.
You might find LXD more straightforward. I think docker was first and foremost a development platform, not meant for deploying production appliances. That’s why there’s this nonsense about persistent volumes. If it were designed from the ground up to be a turnkey appliance platform you wouldn’t need to mess around with that stuff because of course you want your filesystem to be persistent between reboots in a production environment.