I can’t find my socks
We are not strangers to dependencies. Especially, when referring to packages and services in a microservices architecture.
They tend to start small, then grow, and often never stop growing.
Technology like Docker helps meet the most common pain points of running multiple dependent services and straightforward automation.
- You want to run different scripts in sequence, interactively, and separately. Yes, can do.
- You want different operations to interact and in real-time. I can fix that.
- You want to try a Node.js Kafka client on your machine. Oddly specific, but I’m on board.
Docker has become such a household term in Software Development that it’s almost synonymous with containers. For good reason.
However, it’s easy to stick to aged mindsets like running whole virtual machines or creating shell scripts to achieve similar goals. Why? Because they have been proven true and no one likes change, seemingly.
Through scripts and Virtual Machines, you can:
- Run operations in sequence, interactively, and separately.
- Have operations interact in real-time.
- Try that Kafka client with little damage to your machine — not that there is damage 👀
This fondness for the familiar can lead to some tunnel vision in active software development. Even when Docker Desktop is staring knowingly at you. Hence, I can’t find my socks but they are right in front of me.
Locally speaking, perhaps, the next time you want to create a shell script, consider whether it can be replaced with a readable docker-compose yaml.