Dokku with Dockerfile? How can I install system level packages with Dokku?

June 11, 2014 2.3k views
Hi guys, So I've spent a few days reading tutorials and posts and watching videos on Docker. It looks amazing. I'm not currently using it, but I want to. I have a NodeJS app with a MongoDB instance that I want to: - Deploy - Have CI deploy it - Use docker for both local and production instance (i.e. the same). I want to use DigitalOcean droplets. However, reading their tutorials, I keep running into Dokku, which is a small Heroku clone. How does Dokku fit into Docker? Dokku seems to rely on Heroku-buildpacks for extra features. I.e. you want a Mongo instance, just install this plugin. Is this what I want? I want to install some other stuff on the container (Imagemagick, libvips etc), but there are no buildpacks for that. Can't I just write my own handwritten Dockerfile? I'm unsure where to start. Can anyone point me in the right direction?
1 Answer
Dokku is actually built on top of Docker. When you push your branch to a Dokku instance, it spins up a Docker container to run your app. It's fairly simple, and if you need to customize your environment you'll probably have to write a plugin of your own. You should definitely give it a try to see if it suits your needs, but if you want more control over the environment your app runs under you might be better off working with Docker on your own.
Have another answer? Share your knowledge.