mirror of https://github.com/docker/cli.git
plugins/hooks: run hooks when exit code != 0
Particularly for cases such as `docker exec -it`, it's relevant that the CLI still executes hooks even if the exec exited with a non-zero exit code, since this is can be part of a normal `docker exec` invocation depending on how the user exits. In the future, this might also be interesting to allow plugins to run hooks after an error so they can offer error-state recovery suggestions, although this would require additional work to give the plugin more information about the failed execution. Signed-off-by: Laura Brehm <laurabrehm@hey.com>
This commit is contained in:
parent
c0cc22db58
commit
c449c1a49d
|
@ -353,9 +353,6 @@ func runDocker(ctx context.Context, dockerCli *command.DockerCli) error {
|
||||||
// which remain.
|
// which remain.
|
||||||
cmd.SetArgs(args)
|
cmd.SetArgs(args)
|
||||||
err = cmd.Execute()
|
err = cmd.Execute()
|
||||||
if err != nil {
|
|
||||||
return err
|
|
||||||
}
|
|
||||||
|
|
||||||
// If the command is being executed in an interactive terminal,
|
// If the command is being executed in an interactive terminal,
|
||||||
// run the plugin hooks (but don't throw an error if something misbehaves)
|
// run the plugin hooks (but don't throw an error if something misbehaves)
|
||||||
|
@ -363,7 +360,7 @@ func runDocker(ctx context.Context, dockerCli *command.DockerCli) error {
|
||||||
_ = pluginmanager.RunPluginHooks(dockerCli, cmd, subCommand, "", args)
|
_ = pluginmanager.RunPluginHooks(dockerCli, cmd, subCommand, "", args)
|
||||||
}
|
}
|
||||||
|
|
||||||
return nil
|
return err
|
||||||
}
|
}
|
||||||
|
|
||||||
type versionDetails interface {
|
type versionDetails interface {
|
||||||
|
|
Loading…
Reference in New Issue