diff --git a/config/docker_config.go b/config/docker_config.go index ec600158..92f2fe10 100644 --- a/config/docker_config.go +++ b/config/docker_config.go @@ -43,11 +43,15 @@ func generateEngineOptsSlice(opts EngineOpts) []string { } case []string: for _, elem := range value { - optsSlice = append(optsSlice, fmt.Sprintf("--%s", optTag), elem) + if elem != "" { + optsSlice = append(optsSlice, fmt.Sprintf("--%s", optTag), elem) + } } case map[string]string: for k, v := range value { - optsSlice = append(optsSlice, fmt.Sprintf("--%s", optTag), fmt.Sprintf("%s=%s", k, v)) + if v != "" { + optsSlice = append(optsSlice, fmt.Sprintf("--%s", optTag), fmt.Sprintf("%s=%s", k, v)) + } } } } diff --git a/config/docker_config_test.go b/config/docker_config_test.go index adccf21b..750c57e4 100644 --- a/config/docker_config_test.go +++ b/config/docker_config_test.go @@ -18,6 +18,20 @@ func TestGenerateEngineOptsString(t *testing.T) { if len(generateEngineOptsSlice(EngineOpts{})) != 0 { t.Fail() } + if len(generateEngineOptsSlice(EngineOpts{ + Host: []string{ + "", + }, + })) != 0 { + t.Fail() + } + if len(generateEngineOptsSlice(EngineOpts{ + LogOpts: map[string]string{ + "max-file": "", + }, + })) != 0 { + t.Fail() + } testContains(t, fmt.Sprint(generateEngineOptsSlice(EngineOpts{ Bridge: "bridge",