Docker starts to become super useful when you have an application you are deploying that has a few `service` dependencies. Typical deployments include something like<p>1) your reverse proxy, Nginx/Caddy<p>2) your "app", or API, whatever. pick whatever you want, a Rails API, a Phoenix microservice, a Django monolithic app, whatever you want.<p>3) your database. Postgres, whatever<p>4) Redis - not just for caching. Can use it for anything that requires some level of persistence, or any message bus needs. They even have some plugins you can use (iirc, limited to enterprise plans... maybe?) like RedisGraph.<p>5) elasticsearch, if you need real-time indexing and search capabilities. Alternatively you can just spin up a dedicated API that leverages full text search for your database container from 3)<p>6) ??? (sky is the limit!)<p>I prefer docker compose to Kubernetes because I am not a megacorp. You just define your different services, let them run, expose the right ports, and then things should "just work"<p>Sometimes you need to specifically <i>name</i> your containers (like naming redis container `redis`, and then in your code you will have to use `redis` as the hostname instead of `localhost` for example).<p>basically That's It (tm)