docker/cli ยท error
duplicate secret target for %s not allowed
Error message
duplicate secret target for %s not allowed
What it means
Error "duplicate secret target for %s not allowed" thrown in docker/cli.
Source
Thrown at cli/command/service/parse.go:22
"context"
"fmt"
"github.com/moby/moby/api/types/swarm"
"github.com/moby/moby/client"
)
// ParseSecrets retrieves the secrets with the requested names and fills
// secret IDs into the secret references.
func ParseSecrets(ctx context.Context, apiClient client.SecretAPIClient, requestedSecrets []*swarm.SecretReference) ([]*swarm.SecretReference, error) {
if len(requestedSecrets) == 0 {
return []*swarm.SecretReference{}, nil
}
secretRefs := make(map[string]*swarm.SecretReference)
for _, secret := range requestedSecrets {
if _, exists := secretRefs[secret.File.Name]; exists {
return nil, fmt.Errorf("duplicate secret target for %s not allowed", secret.SecretName)
}
secretRef := new(swarm.SecretReference)
*secretRef = *secret
secretRefs[secret.File.Name] = secretRef
}
args := make(client.Filters)
for _, s := range secretRefs {
args.Add("name", s.SecretName)
}
res, err := apiClient.SecretList(ctx, client.SecretListOptions{
Filters: args,
})
if err != nil {
return nil, err
}
View on GitHub (pinned to e9452d6e78)
When it happens
Trigger: Thrown at cli/command/service/parse.go:22 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/6cad8d9d68637171.json.
Report an issue: GitHub.