diff --git a/cli/command/stack/kubernetes/services.go b/cli/command/stack/kubernetes/services.go index 9cf89f4f0f..5a1db529dd 100644 --- a/cli/command/stack/kubernetes/services.go +++ b/cli/command/stack/kubernetes/services.go @@ -24,14 +24,11 @@ var supportedServicesFilters = map[string]bool{ func generateSelector(labels map[string][]string) []string { var result []string for k, v := range labels { - switch len(v) { - case 0: + for _, val := range v { + result = append(result, fmt.Sprintf("%s=%s", k, val)) + } + if len(v) == 0 { result = append(result, k) - case 1: - result = append(result, fmt.Sprintf("%s=%s", k, v[0])) - default: - sort.Strings(v) - result = append(result, fmt.Sprintf("%s in (%s)", k, strings.Join(v, ","))) } } return result diff --git a/cli/command/stack/kubernetes/services_test.go b/cli/command/stack/kubernetes/services_test.go index 9537f203f9..41a3348e0b 100644 --- a/cli/command/stack/kubernetes/services_test.go +++ b/cli/command/stack/kubernetes/services_test.go @@ -75,7 +75,8 @@ func TestServiceFiltersLabelSelectorGen(t *testing.T) { ), expectedSelectorParts: []string{ "com.docker.stack.namespace=test", - "label1 in (test,test2)", + "label1=test", + "label1=test2", }, }, {