Docker has a lot of potential to solve problems in my workplace in a large team (100) of software developers and it's use to solve problems in my workplace. This includes:
- Having a cluster of Docker Hosts that you can run jobs on
- Having CI agents run as docker images so you can scale up horizontally as need be (and guaranteeing that every build is completely clean and consistent)
- Specialising out different agents for Android, JS and Java builds
- Running JUnit tests in parallel spread across multiple containers
- Having Dev tools like Sonar and and NPMJS running in docker (on dedicated hosts) so you can easily upgrade them in a CI pipeline with a version control check-in
The feedback came back to me:
It's great you've got this working, but understanding the docker ecosystem is a mental leap for some people. It's already been established that we won't run docker in production, so we really don't think there is a reason to invest in skilling our people up in this tooling.
My question is: What are the reasons to use docker in your software development process if you're not using it in production?