docker/cli ยท error

invalid IP address: %s

Error message

invalid IP address: %s

What it means

Error "invalid IP address: %s" thrown in docker/cli.

Source

Thrown at cli/command/swarm/init.go:84

	return cmd
}

func runInit(ctx context.Context, dockerCLI command.Cli, flags *pflag.FlagSet, opts initOptions) error {
	apiClient := dockerCLI.Client()

	// TODO(thaJeztah): change opts.defaultAddrPools a []netip.Prefix; see https://github.com/docker/cli/pull/6545#discussion_r2420361609
	defaultAddrPool := make([]netip.Prefix, 0, len(opts.defaultAddrPools))
	for _, p := range opts.defaultAddrPools {
		if len(p.IP) == 0 {
			continue
		}
		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,

View on GitHub (pinned to e9452d6e78)

When it happens

Trigger: Thrown at cli/command/swarm/init.go:84 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/37e8b0e7faae52cd.json. Report an issue: GitHub.