From 690f63e6d3714eb5344472a9ba10c716dfa542d2 Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Fri, 26 Jan 2024 13:38:09 +0100 Subject: [PATCH] cli/command/container: minor cleanup in attach - rename confusing `target` argument, and use `containerID` in all places; also make the variable more clearly local-scoped. - rename `dockerCli` to be correctly camel-case, and to be consistent in all places in this file. Signed-off-by: Sebastiaan van Stijn --- cli/command/container/attach.go | 23 +++++++++++------------ 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/cli/command/container/attach.go b/cli/command/container/attach.go index ea90273707eb..bf8341af5077 100644 --- a/cli/command/container/attach.go +++ b/cli/command/container/attach.go @@ -43,22 +43,21 @@ func inspectContainerAndCheckState(ctx context.Context, apiClient client.APIClie } // NewAttachCommand creates a new cobra.Command for `docker attach` -func NewAttachCommand(dockerCli command.Cli) *cobra.Command { +func NewAttachCommand(dockerCLI command.Cli) *cobra.Command { var opts AttachOptions - var ctr string cmd := &cobra.Command{ Use: "attach [OPTIONS] CONTAINER", Short: "Attach local standard input, output, and error streams to a running container", Args: cli.ExactArgs(1), RunE: func(cmd *cobra.Command, args []string) error { - ctr = args[0] - return RunAttach(cmd.Context(), dockerCli, ctr, &opts) + containerID := args[0] + return RunAttach(cmd.Context(), dockerCLI, containerID, &opts) }, Annotations: map[string]string{ "aliases": "docker container attach, docker attach", }, - ValidArgsFunction: completion.ContainerNames(dockerCli, false, func(ctr types.Container) bool { + ValidArgsFunction: completion.ContainerNames(dockerCLI, false, func(ctr types.Container) bool { return ctr.State != "paused" }), } @@ -71,13 +70,13 @@ func NewAttachCommand(dockerCli command.Cli) *cobra.Command { } // RunAttach executes an `attach` command -func RunAttach(ctx context.Context, dockerCLI command.Cli, target string, opts *AttachOptions) error { +func RunAttach(ctx context.Context, dockerCLI command.Cli, containerID string, opts *AttachOptions) error { apiClient := dockerCLI.Client() // request channel to wait for client - resultC, errC := apiClient.ContainerWait(ctx, target, "") + resultC, errC := apiClient.ContainerWait(ctx, containerID, "") - c, err := inspectContainerAndCheckState(ctx, apiClient, target) + c, err := inspectContainerAndCheckState(ctx, apiClient, containerID) if err != nil { return err } @@ -106,11 +105,11 @@ func RunAttach(ctx context.Context, dockerCLI command.Cli, target string, opts * if opts.Proxy && !c.Config.Tty { sigc := notifyAllSignals() - go ForwardAllSignals(ctx, apiClient, target, sigc) + go ForwardAllSignals(ctx, apiClient, containerID, sigc) defer signal.StopCatch(sigc) } - resp, errAttach := apiClient.ContainerAttach(ctx, target, options) + resp, errAttach := apiClient.ContainerAttach(ctx, containerID, options) if errAttach != nil { return errAttach } @@ -124,13 +123,13 @@ func RunAttach(ctx context.Context, dockerCLI command.Cli, target string, opts * // the container and not exit. // // Recheck the container's state to avoid attach block. - _, err = inspectContainerAndCheckState(ctx, apiClient, target) + _, err = inspectContainerAndCheckState(ctx, apiClient, containerID) if err != nil { return err } if c.Config.Tty && dockerCLI.Out().IsTerminal() { - resizeTTY(ctx, dockerCLI, target) + resizeTTY(ctx, dockerCLI, containerID) } streamer := hijackedIOStreamer{