Docker Best Practises: at what size application should you refrain from containerising?

In my ongoing quest to Containerize All The Things, I’ve played with and installed some pretty hefty images. Not as crazy as what Jessie Frazelle does, but still.

I have one that is 1.8 GB in size at which it hit me whether I may be heading into anti-pattern territory. I mean, where does it end? Dockerize the entire suite of Oracle products?!

  • Can we use Apache Kafka that is dockerized in production?
  • docker-compose not setting environment variables
  • Container spawning for interactive tutorial
  • Docker Created Volume Does Not Exist With Inspect
  • can't push or pull to a docker repo `Repository not found`
  • how force deleting docker image affects existing containers using it
  • Is there an advisory, guideline, best practise guide, anything that states at what point you should just stick with good old servers, VMs or similar?

    I ran across a blog that said that SQL database servers is pretty much one where it’s not worth it: by nature they are not immutable and you’re looking at lots of mapped volumes anyway. Naturally I can’t find that blog anymore. 🙁

    At one point I ran nearly the entire suite of Atlassian products (Bitbucket, Jira, Confluence, Bamboo) in containers, with massive docker run command lines to get all the mappings and environments settings in. I stopped doing it when I just couldn’t see the advantage.

    Is there a good rule of thumb? A simple formula that encompasses, say, immutability and size to arrive at a “OK to containerise/DON’T containerise” table?

  • How to enable CLI history in docker container?
  • docker-compose volumes don't contain latest static code from image
  • How to know if docker is already logged in to a docker registry server
  • docker connect from container to public ip of host
  • Docker Ignores limits.conf (trying to solve “too many open files” error)
  • Docker CD workflow - making docker hosts pull new images and deploy them
  • Docker will be the best open platform for developers and sysadmins to build, ship, and run distributed applications.