crowdsecurity/crowdsec · error
only one 'docker_host' parameters is required, not many
Error message
only one 'docker_host' parameters is required, not many
What it means
DSN validation in docker ConfigureByDSN: the docker_host query parameter (URL of the docker daemon socket) is repeated in the DSN. The guard demands a single value because only one daemon endpoint can be targeted.
Source
Thrown at pkg/acquisition/modules/docker/config.go:287
followStdout, err := strconv.ParseBool(v[0])
if err != nil {
return fmt.Errorf("parsing 'follow_stdout' parameters: %s", err)
}
d.Config.FollowStdout = followStdout
d.containerLogsOptions.ShowStdout = followStdout
case "follow_stderr":
if len(v) != 1 {
return errors.New("only one 'follow_stderr' parameters is required, not many")
}
followStdErr, err := strconv.ParseBool(v[0])
if err != nil {
return fmt.Errorf("parsing 'follow_stderr' parameters: %s", err)
}
d.Config.FollowStdErr = followStdErr
d.containerLogsOptions.ShowStderr = followStdErr
case "docker_host":
if len(v) != 1 {
return errors.New("only one 'docker_host' parameters is required, not many")
}
opts = append(opts, client.WithHost(v[0]))
}
}
d.Client, err = client.New(opts...)
if err != nil {
return err
}
d.backoffFactory = newDockerBackOffFactory()
return nil
}
View on GitHub (pinned to 909b515798)
Solutions
- Pass docker_host=... once, e.g. docker://container?docker_host=unix:///run/podman/podman.sock
- For multiple daemons, define one datasource stanza per daemon instead of stacking parameters
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at pkg/acquisition/modules/docker/config.go:287 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of crowdsecurity/crowdsec@909b515798 (2026-09-06).
Data as JSON: /api/errors/6321d2e98ad67d43.
Report an issue: GitHub.