docker/cli ยท error
cannot merge service %s: %w
Error message
cannot merge service %s: %w
What it means
Error "cannot merge service %s: %w" thrown in docker/cli.
Source
Thrown at cli/compose/loader/merge.go:82
reflect.TypeFor[[]types.ServiceSecretConfig](): mergeSlice(toServiceSecretConfigsMap, toServiceSecretConfigsSlice),
reflect.TypeFor[[]types.ServiceConfigObjConfig](): mergeSlice(toServiceConfigObjConfigsMap, toSServiceConfigObjConfigsSlice),
reflect.PointerTo(reflect.TypeFor[types.UlimitsConfig]()): mergeUlimitsConfig,
reflect.TypeFor[[]types.ServiceVolumeConfig](): mergeSlice(toServiceVolumeConfigsMap, toServiceVolumeConfigsSlice),
reflect.TypeFor[types.ShellCommand](): mergeShellCommand,
reflect.PointerTo(reflect.TypeFor[types.ServiceNetworkConfig]()): mergeServiceNetworkConfig,
reflect.PointerTo(reflect.TypeFor[uint64]()): mergeUint64,
}}),
}
baseServices := make(map[string]types.ServiceConfig, len(base))
for _, s := range base {
baseServices[s.Name] = s
}
for _, overrideService := range override {
if baseService, ok := baseServices[overrideService.Name]; ok {
if err := mergo.Merge(&baseService, &overrideService, mergeOpts...); err != nil {
return nil, fmt.Errorf("cannot merge service %s: %w", overrideService.Name, err)
}
baseServices[overrideService.Name] = baseService
continue
}
baseServices[overrideService.Name] = overrideService
}
services := make([]types.ServiceConfig, 0, len(baseServices))
for _, baseService := range baseServices {
services = append(services, baseService)
}
slices.SortFunc(services, func(a, b types.ServiceConfig) int {
return cmp.Compare(a.Name, b.Name)
})
return services, nil
}View on GitHub (pinned to e9452d6e78)
When it happens
Trigger: Thrown at cli/compose/loader/merge.go:82 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/5ba7f361b391290c.json.
Report an issue: GitHub.