diff --git a/builtin/providers/docker/resource_docker_container_funcs.go b/builtin/providers/docker/resource_docker_container_funcs.go index 00090294c..b475884b6 100644 --- a/builtin/providers/docker/resource_docker_container_funcs.go +++ b/builtin/providers/docker/resource_docker_container_funcs.go @@ -51,6 +51,11 @@ func resourceDockerContainerCreate(d *schema.ResourceData, meta interface{}) err if v, ok := d.GetOk("command"); ok { createOpts.Config.Cmd = stringListToStringSlice(v.([]interface{})) + for _, v := range createOpts.Config.Cmd { + if v == "" { + return fmt.Errorf("values for command may not be empty") + } + } } if v, ok := d.GetOk("entrypoint"); ok { @@ -269,6 +274,10 @@ func resourceDockerContainerDelete(d *schema.ResourceData, meta interface{}) err func stringListToStringSlice(stringList []interface{}) []string { ret := []string{} for _, v := range stringList { + if v == nil { + ret = append(ret, "") + continue + } ret = append(ret, v.(string)) } return ret