docker/cli ยท error
%w - specify one with --advertise-addr
Error message
%w - specify one with --advertise-addr
What it means
Error "%w - specify one with --advertise-addr" thrown in docker/cli.
Source
Thrown at cli/command/swarm/init.go:113
return fmt.Errorf("invalid availability %q, only active, pause and drain are supported", opts.availability)
}
}
res, err := apiClient.SwarmInit(ctx, client.SwarmInitOptions{
ListenAddr: opts.listenAddr.String(),
AdvertiseAddr: opts.advertiseAddr,
DataPathAddr: opts.dataPathAddr,
DataPathPort: opts.dataPathPort,
DefaultAddrPool: defaultAddrPool,
ForceNewCluster: opts.forceNewCluster,
Spec: opts.swarmOptions.ToSpec(flags),
AutoLockManagers: opts.swarmOptions.autolock,
Availability: availability,
SubnetSize: opts.DefaultAddrPoolMaskLength,
})
if err != nil {
if strings.Contains(err.Error(), "could not choose an IP address to advertise") || strings.Contains(err.Error(), "could not find the system's IP address") {
return fmt.Errorf("%w - specify one with --advertise-addr", err)
}
return err
}
_, _ = fmt.Fprintf(dockerCLI.Out(), "Swarm initialized: current node (%s) is now a manager.\n\n", res.NodeID)
if err := printJoinCommand(ctx, dockerCLI, res.NodeID, true, false); err != nil {
return err
}
_, _ = fmt.Fprintln(dockerCLI.Out(), "To add a manager to this swarm, run 'docker swarm join-token manager' and follow the instructions.")
if opts.swarmOptions.autolock {
resp, err := apiClient.SwarmGetUnlockKey(ctx)
if err != nil {
return fmt.Errorf("could not fetch unlock key: %w", err)
}
printUnlockCommand(dockerCLI.Out(), resp.Key)View on GitHub (pinned to e9452d6e78)
When it happens
Trigger: Thrown at cli/command/swarm/init.go:113 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/d1ee38d58ea994a2.json.
Report an issue: GitHub.