diff --git a/cli/command/container/create.go b/cli/command/container/create.go index 36c6cfe6f8d3..3c773e1a476f 100644 --- a/cli/command/container/create.go +++ b/cli/command/container/create.go @@ -95,14 +95,14 @@ func newCreateCommand(dockerCLI command.Cli) *cobra.Command { return cmd } -func runCreate(ctx context.Context, dockerCli command.Cli, flags *pflag.FlagSet, options *createOptions, copts *containerOptions) error { +func runCreate(ctx context.Context, dockerCLI command.Cli, flags *pflag.FlagSet, options *createOptions, copts *containerOptions) error { if err := validatePullOpt(options.pull); err != nil { return cli.StatusError{ Status: withHelp(err, "create").Error(), StatusCode: 125, } } - proxyConfig := dockerCli.ConfigFile().ParseProxyConfig(dockerCli.Client().DaemonHost(), opts.ConvertKVStringsToMapWithNil(copts.env.GetSlice())) + proxyConfig := dockerCLI.ConfigFile().ParseProxyConfig(dockerCLI.Client().DaemonHost(), opts.ConvertKVStringsToMapWithNil(copts.env.GetSlice())) newEnv := make([]string, 0, len(proxyConfig)) for k, v := range proxyConfig { if v == nil { @@ -112,7 +112,7 @@ func runCreate(ctx context.Context, dockerCli command.Cli, flags *pflag.FlagSet, } } copts.env = *opts.NewListOptsRef(&newEnv, nil) - serverInfo, err := dockerCli.Client().Ping(ctx, client.PingOptions{}) + serverInfo, err := dockerCLI.Client().Ping(ctx, client.PingOptions{}) if err != nil { return err } @@ -124,17 +124,17 @@ func runCreate(ctx context.Context, dockerCli command.Cli, flags *pflag.FlagSet, StatusCode: 125, } } - id, err := createContainer(ctx, dockerCli, containerCfg, options) + id, err := createContainer(ctx, dockerCLI, containerCfg, options) if err != nil { return err } - _, _ = fmt.Fprintln(dockerCli.Out(), id) + _, _ = fmt.Fprintln(dockerCLI.Out(), id) return nil } // FIXME(thaJeztah): this is the only code-path that uses APIClient.ImageCreate. Rewrite this to use the regular "pull" code (or vice-versa). -func pullImage(ctx context.Context, dockerCli command.Cli, img string, options *createOptions) error { - encodedAuth, err := command.RetrieveAuthTokenFromImage(dockerCli.ConfigFile(), img) +func pullImage(ctx context.Context, dockerCLI command.Cli, img string, options *createOptions) error { + encodedAuth, err := command.RetrieveAuthTokenFromImage(dockerCLI.ConfigFile(), img) if err != nil { return err } @@ -144,7 +144,7 @@ func pullImage(ctx context.Context, dockerCli command.Cli, img string, options * // Already validated. ociPlatforms = append(ociPlatforms, platforms.MustParse(options.platform)) } - resp, err := dockerCli.Client().ImagePull(ctx, img, client.ImagePullOptions{ + resp, err := dockerCLI.Client().ImagePull(ctx, img, client.ImagePullOptions{ RegistryAuth: encodedAuth, Platforms: ociPlatforms, }) @@ -155,7 +155,7 @@ func pullImage(ctx context.Context, dockerCli command.Cli, img string, options * _ = resp.Close() }() - out := dockerCli.Err() + out := dockerCLI.Err() if options.quiet { out = streams.NewOut(io.Discard) } diff --git a/cli/command/container/opts.go b/cli/command/container/opts.go index a0cc1cb8f9d3..853a7f93def3 100644 --- a/cli/command/container/opts.go +++ b/cli/command/container/opts.go @@ -997,9 +997,11 @@ func parseDevice(device, serverOS string) (container.DeviceMapping, error) { case "linux": return parseLinuxDevice(device) case "windows": - return parseWindowsDevice(device) + // Windows doesn't support mapping, so passing the given value as-is. + return container.DeviceMapping{PathOnHost: device}, nil + default: + return container.DeviceMapping{}, fmt.Errorf("unknown server OS: %s", serverOS) } - return container.DeviceMapping{}, fmt.Errorf("unknown server OS: %s", serverOS) } // parseLinuxDevice parses a device mapping string to a container.DeviceMapping struct @@ -1030,18 +1032,11 @@ func parseLinuxDevice(device string) (container.DeviceMapping, error) { dst = src } - deviceMapping := container.DeviceMapping{ + return container.DeviceMapping{ PathOnHost: src, PathInContainer: dst, CgroupPermissions: permissions, - } - return deviceMapping, nil -} - -// parseWindowsDevice parses a device mapping string to a container.DeviceMapping struct -// knowing that the target is a Windows daemon -func parseWindowsDevice(device string) (container.DeviceMapping, error) { - return container.DeviceMapping{PathOnHost: device}, nil + }, nil } // validateDeviceCgroupRule validates a device cgroup rule string format diff --git a/cli/command/container/run.go b/cli/command/container/run.go index 8eef49b1771d..336a437c90f9 100644 --- a/cli/command/container/run.go +++ b/cli/command/container/run.go @@ -84,14 +84,14 @@ func newRunCommand(dockerCLI command.Cli) *cobra.Command { return cmd } -func runRun(ctx context.Context, dockerCli command.Cli, flags *pflag.FlagSet, ropts *runOptions, copts *containerOptions) error { +func runRun(ctx context.Context, dockerCLI command.Cli, flags *pflag.FlagSet, ropts *runOptions, copts *containerOptions) error { if err := validatePullOpt(ropts.pull); err != nil { return cli.StatusError{ Status: withHelp(err, "run").Error(), StatusCode: 125, } } - proxyConfig := dockerCli.ConfigFile().ParseProxyConfig(dockerCli.Client().DaemonHost(), opts.ConvertKVStringsToMapWithNil(copts.env.GetSlice())) + proxyConfig := dockerCLI.ConfigFile().ParseProxyConfig(dockerCLI.Client().DaemonHost(), opts.ConvertKVStringsToMapWithNil(copts.env.GetSlice())) newEnv := []string{} for k, v := range proxyConfig { if v == nil { @@ -101,7 +101,7 @@ func runRun(ctx context.Context, dockerCli command.Cli, flags *pflag.FlagSet, ro } } copts.env = *opts.NewListOptsRef(&newEnv, nil) - serverInfo, err := dockerCli.Client().Ping(ctx, client.PingOptions{}) + serverInfo, err := dockerCLI.Client().Ping(ctx, client.PingOptions{}) if err != nil { return err } @@ -114,7 +114,7 @@ func runRun(ctx context.Context, dockerCli command.Cli, flags *pflag.FlagSet, ro StatusCode: 125, } } - return runContainer(ctx, dockerCli, ropts, copts, containerCfg) + return runContainer(ctx, dockerCLI, ropts, copts, containerCfg) } //nolint:gocyclo