Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added use of supervisord to control processes. This has the upside that no more defunct processes stay in the running container. These defunct processes piled up on our system and eventually depleted process and maybe even file handles.
supervisord is mentioned on https://docs.docker.com/engine/admin/multi-service_container/ as a moderately heavy-weight approach, a huge advantage (over even more lightweight process managers) is that it can easily be installed via apt-get.
The supervisord config file is created inside the Dockerfile to have all information in one place, this could be changed for the sake of better organisation.
Additionally it could be possible to have an even slicker setup if using root as the user that runs supervisord and rely on supervisord to switch to the daemon user, but I tried to keep the changes on somebody else's code base to a minimum - and I also did not want to mess with the entrypoint.sh.
Btw. great work - this image made running our multi-agent Bamboo environment much more concise using docker-compose - and upgrades are very smooth. Thx for your efforts.
Cheers, Christoffer