docker/cli ยท error
invalid option %s for flag --resolve-image
Error message
invalid option %s for flag --resolve-image
What it means
Error "invalid option %s for flag --resolve-image" thrown in docker/cli.
Source
Thrown at cli/command/stack/deploy.go:86
return cmd
}
// Resolve image constants
const (
resolveImageAlways = "always"
resolveImageChanged = "changed"
resolveImageNever = "never"
)
const defaultNetworkDriver = "overlay"
// runDeploy is the swarm implementation of docker stack deploy
func runDeploy(ctx context.Context, dockerCLI command.Cli, flags *pflag.FlagSet, opts *deployOptions, cfg *composetypes.Config) error {
switch opts.resolveImage {
case resolveImageAlways, resolveImageChanged, resolveImageNever:
// valid options.
default:
return fmt.Errorf("invalid option %s for flag --resolve-image", opts.resolveImage)
}
if opts.detach && !flags.Changed("detach") {
_, _ = fmt.Fprintln(dockerCLI.Err(), "Since --detach=false was not specified, tasks will be created in the background.\n"+
"In a future release, --detach=false will become the default.")
}
return deployCompose(ctx, dockerCLI, opts, cfg)
}
// checkDaemonIsSwarmManager does an Info API call to verify that the daemon is
// a swarm manager. This is necessary because we must create networks before we
// create services, but the API call for creating a network does not return a
// proper status code when it can't create a network in the "global" scope.
func checkDaemonIsSwarmManager(ctx context.Context, dockerCli command.Cli) error {
res, err := dockerCli.Client().Info(ctx, client.InfoOptions{})
if err != nil {
return errView on GitHub (pinned to e9452d6e78)
When it happens
Trigger: Thrown at cli/command/stack/deploy.go:86 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of docker/cli@e9452d6e78 (2026-08-01).
Data as JSON: /data/errors/093efde16d2b9771.json.
Report an issue: GitHub.