diff --git a/cmd/ctr/commands/run/run.go b/cmd/ctr/commands/run/run.go index 314d89177..5c4861e03 100644 --- a/cmd/ctr/commands/run/run.go +++ b/cmd/ctr/commands/run/run.go @@ -110,6 +110,10 @@ var Command = cli.Command{ Name: "isolated", Usage: "run the container with vm isolation", }, + cli.StringFlag{ + Name: "cgroup", + Usage: "cgroup path (To disable use of cgroup, set to \"\" explicitly)", + }, }, append(commands.SnapshotterFlags, commands.ContainerFlags...)...), Action: func(context *cli.Context) error { var ( diff --git a/cmd/ctr/commands/run/run_unix.go b/cmd/ctr/commands/run/run_unix.go index 1291bfd20..11c5f2f50 100644 --- a/cmd/ctr/commands/run/run_unix.go +++ b/cmd/ctr/commands/run/run_unix.go @@ -141,6 +141,10 @@ func NewContainer(ctx gocontext.Context, client *containerd.Client, context *cli if context.IsSet("allow-new-privs") { opts = append(opts, oci.WithNewPrivileges) } + if context.IsSet("cgroup") { + // NOTE: can be set to "" explicitly for disabling cgroup. + opts = append(opts, oci.WithCgroup(context.String("cgroup"))) + } } cOpts = append(cOpts, containerd.WithRuntime(context.String("runtime"), nil))