-
Notifications
You must be signed in to change notification settings - Fork 144
Description
@kocolosk would like your +1 on this before I do this for our 2.3.0 image.
I just reviewed the Dockerfile entries for many of our "competitors" - mysql, mongo, cassandra. They all have their Dockerfile simply apt-get install <product> after adding a pointer to the necessary repo.
Given all of the pain it's been to figure out how to correctly build and install CouchDB, I'd like to DRY this out and for the 2.3.0 image simply install from our bintray repo instead.
This will also simplify the work to fulfill some of the other requests around ancillary platform support (such as arm64).
The dev image will stay as-is, since it's intended to track CouchDB's master branch.
Expected Behavior
Our main Dockerfile image is simplified to just install CouchDB from our binary package for Debian (currently, stretch).
Current Behavior
We install all of the build-time dependencies, build CouchDB, install CouchDB, then delete all of the build-time dependencies. Lots of layers and lots of work for very little reason. The build process can get out of sync with how we build our .deb installer, too.
Possible Solution
Adopt the same approach as:
- https://github.com/docker-library/cassandra/blob/master/3.11/Dockerfile
- https://github.com/docker-library/mysql/blob/master/8.0/Dockerfile
- https://github.com/docker-library/mongo/blob/master/4.1/Dockerfile
Context
DRY out our build processes and reduce them to the simplest common denominator.