docker/cli ยท error
invalid availability %q, only active, pause and drain are su
Error message
invalid availability %q, only active, pause and drain are supported
What it means
Error "invalid availability %q, only active, pause and drain are supported" thrown in docker/cli.
Source
Thrown at cli/command/swarm/init.go:95
}
ip := p.IP.To4()
if ip == nil {
ip = p.IP.To16()
}
addr, ok := netip.AddrFromSlice(ip)
if !ok {
return fmt.Errorf("invalid IP address: %s", p.IP)
}
ones, _ := p.Mask.Size()
defaultAddrPool = append(defaultAddrPool, netip.PrefixFrom(addr, ones))
}
var availability swarm.NodeAvailability
if flags.Changed(flagAvailability) {
switch a := swarm.NodeAvailability(strings.ToLower(opts.availability)); a {
case swarm.NodeAvailabilityActive, swarm.NodeAvailabilityPause, swarm.NodeAvailabilityDrain:
availability = a
default:
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)View on GitHub (pinned to e9452d6e78)
When it happens
Trigger: Thrown at cli/command/swarm/init.go:95 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/7f0ab27ffb00cba6.json.
Report an issue: GitHub.