3 ms·
> The apps themselves are managed by various developers but we have standard things that we do across those servers, like install our monitoring agent, applying
by shykes 13y ago
> The apps themselves are managed by various developers but we have standard things that we do across those servers, like install our monitoring agent, applying patches, configuring performance tweaks, etc. The problem with running Docker in this environment is maintaining these things in a centralized manner. Sure, we could create a bunch of Docker images that contain all of our organization standardizations but how do we maintain these?
Docker builds can be nested. That is, you can build a docker image on top of a docker image on top of a docker image, and so on.
So, if you need to maintain a standardized base across several teams in your organization (which is a common requirement):
* 1. Create a source repository for that standardized base with a Dockerfile and any other necessary content.
* 2. Build that base and push it to a registry (public or private)
* 3. Tell your developers to use that standardized base in their own Dockerfiles.
You can repeat that step any number of times.
Does this help?
- chrissnell 13y agoThat does and it gets us part of the way there. What tool can we use to automate and script the creation of the images and Dockerfiles, though? Layering/unioning will work for many things but for some things, we want programmatic control of how that happens. I would love to see a tool that delivers this for Dockerfiles and images.
- boothead 13y agoThe way I do it is to have a base ubuntu image -> base haskell-platform -> base installation of all dependencies (libpq etc and cabal deps) -> my app. The image "above" the app is built periodically and the app is built by stitching together the haskell code and the front end js code in a super project with git subtree on every successful test run of ether of those projects. This is all done by Jenkins and each image is tagged by Jenkins build number. Only problem with this is that the size of the image is getting pretty huge. Anyone have any suggestions on pruning old tags from a docker image and registry?