couchbase / docker

Dockerfiles and configuration scripts for the Docker Hub Official Couchbase images
143 stars 154 forks source link

MB-51605: Patch install process for Server < 7.0.0 #174

Closed ceejatec closed 2 years ago

ceejatec commented 2 years ago

The systemd-ctl script in Server (which is used by the installer to start/stop server) includes a heuristic to detect whether it is running inside a container or not, so it knows whether to invoke systemd commands or start/stop server manually. In Server < 7.0.0, this heuristic was flawed and could fail in some environments, including GitHub actions. It now appears that this could cause failures on Docker Hub's automated builds, including security rebuilds of the Official Image.

This change splits the install process into two parts: first unpack all the files, then configure the package. Between those two it monkey-patches systemd-ctl to use the newer 7.0.0+ method of detecting whether systemd is available, rather than attempting to detect "inside a container".

The generation will only insert this method when creating a Dockerfile for Server < 7.0.0. This change includes the fix for 6.5.2, which we are in the process of adding an Official Image for since it was previously overlooked. We will decide later whether to update and re-propose any 6.6.x images.