26
70 Comments

Do you use Docker as a maker?

Hey Folks,

Was curious to know if you use docker or Kubernetes in your indie maker stack (not at work) and if so what for?

I personally use it only for setting up development environments at the moment but not in production.

posted to Icon for group Developers
Developers
on March 22, 2022
  1. 7

    Frankly speaking I find NOT using containers more complex than using them.

    Kubernetes is another topic. The basics of Kubernetes are not that hard and the day-to-day is rather simple - but running it yourself isn't exactly reducing complexity. It's also a resource hog. A hosted k8s/k3s would be great - but it's just too expensive for smaller indie projects.

    For a simple side project even docker-compose in production is OKish. Using containers allows to easily migrate to the bigger clouds if necessary, and it allows to onboard other devs quickly. But most importantly it brings your dev and production environment in line.

    Not sure I see a good alternative unless you go maybe serverless.

  2. 4

    I mostly set up my own servers before, but recently started using Dokku: https://dokku.com/

    Dokku is the smallest PaaS implementation, like Heroku but you can self-host on your own servers.

    Takes care of managing the app and database containers, even the Nginx configuration and SSL certificates.

    FYI, also started to build in public Tiny PaaS, which is a cloud-hosted PaaS solution based on Dokku designed for startups but can handle big projects.

    Still working on the landing page (and implementing the platform, today was Day 1), but the major selling point will be the price. Low price for great specifications.

    1. 2

      I know dokku and (piku) but didn't get the time to explore both .. Would be interested to know about your PaaS product, please share when ready and best of luck

      1. 1

        I will do it, might take still 45 days to complete :)

        That is my average on getting a product out there at the moment, at least in MVP format.

  3. 4

    I use Docker and Kubernetes in production - using Digital Ocean's managed service. It is quite a big learning curve. If building a proof of concept, just putting something on a VM is an easier route. Kubernetes is also more expensive than running something on a VM. Having said that, Kubernetes does have many advantages. It lets you do rolling updates, scaling out is very simple, and it's quite resilient. When you reach a certain scale, you will need something like Kubernetes, however you can get a long way with a single VM.

  4. 4

    I use it for one simple reason: The old scenario where everything works locally but not on staging/production. You’ll end saving a lot of time replicating issues on your local machine with a copy of your production database. Also very handy when you’re onboarding new developers.

  5. 4

    Not at all. Would be overkill for a solo dev.

    1. 2

      I have a very different opinion on this . It is an overkill if you expect to run on your local machine and nowhere else. Having the portability of containers even for me as a solo dev is huge. I can change OS, computer, etc. and it will still work without custom set-up.

      1. 1

        Yes Cactus,I understand it highly depends on what you are trying to build and what the environment that you need to deliver your product.

      2. 1

        I suppose it depends on what you're building. I run all my code on my mac; it builds in CI on linux, and deploys and runs on linux. I've never experienced any issues.

        Then again, I'm not building complex things to begin with. So I could see why one would want to use Docker

    2. 2

      I agree with you, it simplifies my local setup but for a solo developer in production I think one should have good reasons to use them.

  6. 3

    Well I'm biased, but I can tell you using Docker with a tool like Utopiops makes it super easy to run your apps in production.

    All you need to do is to dockerize the application which you do anyway, and for as low as $9-$19 per month you get it to production in a few clicks, with built-in CI/CD.

    And you don't have to necessarily use K8s an in most cases ECS is good enough. Again, with something like Utopiops you don't even have to deal with the details.

    Without Docker you're sort of on your own.

  7. 3

    I use Docker. Specifically, I use Dokku hosted on DigitalOcean to get Heroku style deployments, and it's all containerized.

    Definitely not Kubernetes, however. Not currently at any level of scale where that'd be necessary.

  8. 3

    i use docker in product a lot
    sometimes it' s easier especially if you start a new project (small need of data storage and computation)
    so start with virtual machine instance and setup docker lunch your container connect with a domain name and here to you.

    you can rapidely upgrade your system and added new featrues

  9. 3

    Definitely so, in dev and prod. K8S makes scaling so quick and when architected well, your software is very easily portable between CSPs.

  10. 3

    Docker with serverless is very powerful https://www.serverless.com/blog/container-support-for-lambda worth learning just for that

  11. 3

    Only in development, but I keep it simple. I use it for things like Postgresql, Reddis etc so I don't have to install it locally. I run the development application server locally without Docker though.

    I don't use Docker in production.

    1. 1

      doing the same as yo do :)

  12. 3

    I use Docker because it is actually the simplest way to deliver an app in the cloud and not be tied to a specific platform. I avoid Kubernetes, although I'm quite proficient, cause it adds extra cost and complexity. Heroku, ECS, DigitalOcean all have container solutions I can switch between one another

  13. 2

    I use dockers. But I prefer not to directly deal with them. Render.com and Railway.app kind of applications are the future of webapps and such tech is only feasible because of Dockers.

    There are some places where we can't avoid them, for example having custom lambda functions on AWS.

  14. 2

    No and neither does our team :(

  15. 2

    Been developing for well over 20 years. Used docker in production professionally. It's never been a simpler, more stable, or more performant than a VM or bare metal.

  16. 2

    Yes. I just use it just for development though. I’ve never really used it in production.

    I find that I often use managed services from AWS or Netlify or Render for production that make it easier to build and deploy.

  17. 2

    I haven't as it has been another thing I had to learn. But now, after getting familiar with it at my full time job, I might use it in my future projects.

  18. 2

    Depends on the complexity of your stack, but I think it has become the de facto standard for packaging a certain Linux system configuration, and as others have said, many cloud vendors have easy ways to deploy a docker container.

  19. 2

    I use Laradock locally as a development environment.
    In production, I'm not using docker.

  20. 2

    Using Docker Swarm for all my projects.

  21. 2

    No, I neither use it in dev nor in prod.

  22. 2

    I am extremely comfortable with AWS ECS Fargate, Docker and Gitlab CI/CD. I have got them setup in no time for my first simple indiehack I am doing now. It saves me a ton of time and frustration. Commit code boom done.

    If you are not familiar use AWS lightsail or Azure app service. I heard some Indie use Heroku also. I know someone with 60K MRR happy with a Rails indie on Heroku.

  23. 2

    I'm using docker for my weekend projects.
    It helps with clean setup. Also I like to use different ports for each projects. So with docker it's super easy to manage that.
    And for production use something like Heroku or DO App platform

  24. 2

    Yes, I use docker compose and it's good if I want to upgrade the sdk / library to a newer version. The good thing is that I am safe to switch the version and roll back. There is no need to worry about breaking things, e.g upgrade the python version

  25. 2

    I use docker environments for development and love every repo that provides the same out of the box. Docker sounded overcomplicated at first. But once I understood the benefits, i don't event want to do clutter my PCs with any local installation ever since.

  26. 2

    I use Docker locally and use it on production. With on important "but".

    At the moment Kubernetes is overkill, because I didn't launch yet. For that reason I do have one script inside the docker that actually rebuild the app inside the docker for deploy. So, this is not how docker should be used. and not recommended way to go.

    SO I am in some middle state, and for me now docker is just a help to build servers fast. I have docker images for

    • nginx, php
    • redis
    • mongodb
  27. 2

    I use docker at my main job a lot, both for local development testing as well as production.
    For my side-project I only use it for local development environments, I don't have a use-case for production, yet.
    As soon as I will have the need to scale and/or my use-cases get more complex, Docker and probably Kubernetes as well in production will certainly become a viable option for me.

    1. 1

      I have similar setup as yours :)

  28. 2

    I use it at work, but currently I don't use Docker for indie stuff. I like the simplicity of removing layers. I basically just make a systemd service (as described in my book). I can imagine a project where I might want a container for a worker, but right now I am fine without them.

    1. 1

      Nice content for the book, thanks for sharing btw

  29. 2

    I think it really depends on your situation. If you're fluent with it, they maybe. The learning curve is 0, and there are benefits obviously. If you're not, don't do it.

    Why are you considering using it?
    At what stage are you on?
    Are you bringing in more developers and want all to have the same env?
    Have you proven your product's need and demand?
    Do you have any specific tech need for docker, that makes it a must for the product itself to work, or is it a deployment thing?

    1. 2

      These are good questions to consider before using them. I am currently using it professionally but not in my indie projects except for setting up dev environments.

  30. 2

    (DevOps consultant by day)
    For my own projects, I use Docker for local development and try to go serverless / PaaS for production.
    Trying to kick the complexity can (Kubernetes) as much as possible.
    Even if it costs a bit more I want someone else to worry about the infra.

    1. 1

      I am naturally a minimalist who likes to keep things simple as you said, have not done a lot serverless though so I should probably give it more time ( I have tried firebase for some projects and I really like how fast you can ship something with minimal infrastructure needs)

  31. 2

    I don't use it to avoid complexity and increase delivery time. All these fancy technical stuff not needed unless you have a need to use it. imo

    1. 1

      Same here, I don't have the scale to get the benefit in production deployment vs the added layer of complexity just yet ..

  32. 1

    Just in production. Locally, no.

  33. 1

    I keep trying to use Docker, but I find the platform still very buggy and poorly documented. It works well for basic stuff, but once you want to customize things or change stuff in production, you have to spend hours to do it.

    Even simple things like changing the port of an existing running container requires you to manually search and edit config files:
    https://stackoverflow.com/a/38783433/407650

    Another reason to not use Docker is that very rarely I deploy the same service on multiple servers/devices. Also, if they are a Node.js app for example, installing Node.js usually takes more time than setting up and running the Docker image on that server.

  34. 1

    I’ve got a basic understanding of docker and use it for hosting my db locally. I started building in a windows machine with dotnet, then switched to a Mac, and that’s was the easiest way (at the time) to keep building with minimal downtime.

    Once I hit my next milestone, I’ll run windows on a virtual box on my mac and use sql server and visual studio.

    I know there’s lots I can do with docker, but necessity hasn’t caused me to use more of its features.

    I haven’t used kubernetes at all.

  35. 1

    Using docker with cloud run or aws makes life easy

  36. 1

    Yep. I do use Docker + Kubernetes for my SaaS https://leansence.com.

    I use DigitalOcean Kubernetes managed solutions.

    Why?

    1. Rolling upgrades.
    2. Easy to scale.
    3. DigitalOcean bandwidth is very cheap
    4. Benefits of docker
    5. Chances of the crash are very less and high availability.(since multiple pods and nodes)
  37. 1

    I used it to deploy NodeJS APIs powered by computational-intensive Python scripts and kinda like it. Wouldn't use it for APIs which are expect to complete in few seconds - I much prefer Serverless for that!

  38. 1

    I am surprised that so little people here don't opt for a full no infra/serverless solution.

    I am a freelance consultant, and in my project, I use docker only for thing like Postgres in development.

    Is there a limit which happens early in your solo developments, to not consider Vercel/Netlify solutions ?

    1. 1

      That's why I wanted to explore this area with IH community :)
      But I think the thing is kind of "People tend to stick with what they know and are familiar with" the second might be the cost of scale

  39. 1

    I frankly used them in my day job before but haven't felt the need to use it for my SaaS products.

    It only adds more to the learning curve but as a solo founder, I'd rather want to eliminate risks than adding something new.

    1. 1

      Yes, stick to what works for you and when the need comes for using a specific tech you will know for sure :)

  40. 1

    Plain Docker mainly for development, Dokku for production.

  41. 1

    Yep, Docker is absolutely awesome. I use Machine Learning a lot in my projects, and to scale machine learning you absolutely need docker.

    I just wrap my ML model in an http server (Flask), then put that in a Docker image, and then just upload the Docker image to Google Cloud Run. They take care of the scaling, and I never have to worry about anything else.

    Docker is great

    1. 2

      Sure, it's one of the cases that I see it's a necessity and adds clear value to your stack.

  42. 1

    I use Docker for production but not for development, I run my apps natively in localhost

  43. 1

    Of course I don't use Docker as a maker. I use Docker as a hacker. 😎

  44. 1

    I don't use Docker when developing but I have a Docker configuration set up, because my projects are open-source and it makes it easier for people to self-host and contribute.

    1. 2

      Sure, that's a clear value add

  45. 1

    I use it for development but not for deployment. What I do do is package my service as a container and deploy that to eg lambda, heroku, wherever.

  46. 1

    For a long time i just used systemd services for running my experiments/side projects. However lately i have dipped my toes into using docker stack to deploy. At work we're using kubernetes.

    Using docker does give me a consistent environment and a somewhat more streamlined release process at the cost of a more complex setup.

    On the other hand, the setup is specified by a yaml file keeping the host minimal and i cannot mess things up by manually poking around.

    Updating the code involves building a new docker image, tag it, deploy it and update to it on the host.

  47. 1

    I use both kuberneties and docker images, with minukube locally and GKE in prod. We have the same setup both locally and in prod, which makes testing locally very accurate. We use circleci for deployment.

    1. 1

      Thanks Vlad, but also for booktr.ee?

      1. 1

        Yes, we have this setup for booktr.ee

  48. 1

    I use Docker for every project, having the confidence that your environment is consistent locally and deployed is worth any added complexity. And with all of the available hosting options it could simplify your deployed stack.

    1. 1

      Yep, got your point.. I definitely agree that it helps maintain a consistent environment specially when you need to scale. Could you please elaborate on how it helps with simplify deployed stack?

Trending on Indie Hackers
I spent $0 on marketing and got 1,200 website visitors - Here's my exact playbook User Avatar 89 comments Your SaaS Isn’t Failing — Your Copy Is. User Avatar 35 comments Veo 3.1 vs Sora 2: AI Video Generation in 2025 🎬🤖 User Avatar 34 comments Solo SaaS Founders Don’t Need More Hours....They Need This User Avatar 29 comments Planning to raise User Avatar 14 comments From side script → early users → real feedback (update on my SaaS journey) User Avatar 11 comments