diff --git a/cmd/docker/docker.go b/cmd/docker/docker.go index ee83bd76d69f..8b15b76f8ec7 100644 --- a/cmd/docker/docker.go +++ b/cmd/docker/docker.go @@ -358,9 +358,11 @@ func runDocker(ctx context.Context, dockerCli *command.DockerCli) error { mp := dockerCli.MeterProvider() if mp, ok := mp.(command.MeterProvider); ok { - if err := mp.Shutdown(ctx); err != nil { - otel.Handle(err) - } + defer func() { + if err := mp.Shutdown(ctx); err != nil { + otel.Handle(err) + } + }() } else { fmt.Fprint(dockerCli.Err(), "Warning: Unexpected OTEL error, metrics may not be flushed") }