container-best-practices
container-best-practices copied to clipboard
systemd documentation
Need to cover managing systemd services inside a container, and using systemd on the host to manage a (probably SPC) container as a service.
Both are valuable, and we should make clear to distinguish between the two.
Also, both could do with a bit of testing to make sure that we really know what works and what does not in each case. Eg. ISTR we had a number of issues come up when trying to run the IPA container with an internal systemd --- there are interactions with --pid=host, expectations around orphan handling etc.
But I also think we need a much higher-level section on what app containerisation broadly looks like --- ie. why you don't need a systemd at all by default, and how you generally want to set up the CMD to point directly at the daemon/service in the container; why it's important to keep persistent data separate in the container; what the container update lifecycle looks like, etc.
Potential content for Fedora: https://vpavlin.eu/2015/02/fedora-docker-and-systemd/
Should we also suggest either adding functionality for the automatic creation of systemd unit files to avoid the manual work such as is described here: http://www.projectatomic.io/blog/2015/06/running-cockpit-as-a-service/
I've done a bit of work concerning this here: https://developers.redhat.com/blog/2017/03/23/containerizing-open-vm-tools-part-1-the-dockerfile-and-constructing-a-systemd-unit-file/ and here: https://developers.redhat.com/blog/2017/05/24/containerizing-open-vm-tools-part-2-atomic-cli-and-converting-to-a-systems-container/
I'd like to add open-vm-tools as a CBP example and that should kill 2 birds with one stone concerning this.