Three Places to Put Provisioning: Init Tasks, Startup Files, or the Image
Getting a playground published is not the same as getting it usable. Between "the VM booted" and "a stranger can do the thing you built this for" sits a pile of work: packages, repositories, config files, seeded data, services that need to be running. The iximiuz Labs manifest gives you two places to put that work, and your Dockerfile is a third.
I picked the third for all six of my images. This is what the other two do, when each one is right, and the reasoning that made me choose the one I did.