ctr/run: flags --detach and --rm cannot be specified together

Signed-off-by: Iceber Gu <wei.cai-nat@daocloud.io>
This commit is contained in:
Iceber Gu 2023-01-06 14:05:09 +08:00
parent 9bfe1d911c
commit 0b9313c426

View File

@ -93,7 +93,7 @@ var Command = cli.Command{
Flags: append([]cli.Flag{
cli.BoolFlag{
Name: "rm",
Usage: "remove the container after running",
Usage: "remove the container after running, cannot be used with --detach",
},
cli.BoolFlag{
Name: "null-io",
@ -105,7 +105,7 @@ var Command = cli.Command{
},
cli.BoolFlag{
Name: "detach,d",
Usage: "detach from the task after it has started execution",
Usage: "detach from the task after it has started execution, cannot be used with --rm",
},
cli.StringFlag{
Name: "fifo-dir",
@ -132,6 +132,7 @@ var Command = cli.Command{
id string
ref string
rm = context.Bool("rm")
tty = context.Bool("tty")
detach = context.Bool("detach")
config = context.IsSet("config")
@ -154,6 +155,10 @@ var Command = cli.Command{
if id == "" {
return errors.New("container id must be provided")
}
if rm && detach {
return errors.New("flags --detach and --rm cannot be specified together")
}
client, ctx, cancel, err := commands.NewClient(context)
if err != nil {
return err
@ -163,7 +168,7 @@ var Command = cli.Command{
if err != nil {
return err
}
if context.Bool("rm") && !detach {
if rm && !detach {
defer container.Delete(ctx, containerd.WithSnapshotCleanup)
}
var con console.Console