Intermediate packages permit you to choose different deployment situations later, with minimal additional cost now. Tying everything to Docker images ties you to Docker and removes your ability to transition to other systems. It may not be worth the cost now, but as soon as you want to deploy on more than one platform it can become critical to maintaining momentum (vice having to hand tailor deployment for each new environment).
We've been going that direction. Packages integrate better into multiple use cases (e.g. VM images, containers). Running a properly signed apt repo is easy these days, so why not?
For people that disagree with this model: where do you think the the software comes from when you apt/apk install things inside your Dockerfile?
Most people don't need to do that. You can build things you need as part of the image build. No need to setup a deb or rpm package unless you're also installing it that way somewhere else.
We use jfrog. One jenkins job builds our code into a .deb and pushes it there. Another job builds the VM image which is then deployed once testing passes.
manigandham|5 years ago
tkinz27|5 years ago
We end up having a lot of libraries that are shared across multiple images.
Jtsummers|5 years ago
asguy|5 years ago
For people that disagree with this model: where do you think the the software comes from when you apt/apk install things inside your Dockerfile?
blaisio|5 years ago
unknown|5 years ago
[deleted]
secondcoming|5 years ago
wmf|5 years ago