From 57a8c2e5e844ee403c9a703c621780de7c7343f0 Mon Sep 17 00:00:00 2001 From: Daniel J Walsh Date: Mon, 15 Oct 2018 15:42:12 -0400 Subject: Mount proper cgroup for systemd to manage inside of the container. We are still requiring oci-systemd-hook to be installed in order to run systemd within a container. This patch properly mounts /sys/fs/cgroup/systemd/libpod_parent/libpod-UUID on /sys/fs/cgroup/systemd inside of container. Since we need the UUID of the container, we needed to move Systemd to be a config option of the container. Signed-off-by: Daniel J Walsh --- pkg/spec/createconfig.go | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'pkg/spec/createconfig.go') diff --git a/pkg/spec/createconfig.go b/pkg/spec/createconfig.go index d34b21189..6ac9d82da 100644 --- a/pkg/spec/createconfig.go +++ b/pkg/spec/createconfig.go @@ -319,6 +319,10 @@ func (c *CreateConfig) GetContainerCreateOptions(runtime *libpod.Runtime) ([]lib if c.Interactive { options = append(options, libpod.WithStdin()) } + if c.Systemd && (strings.HasSuffix(c.Command[0], "init") || + strings.HasSuffix(c.Command[0], "systemd")) { + options = append(options, libpod.WithSystemd()) + } if c.Name != "" { logrus.Debugf("appending name %s", c.Name) options = append(options, libpod.WithName(c.Name)) -- cgit v1.2.3-54-g00ecf