diff --git a/cmd/minikube/cmd/start.go b/cmd/minikube/cmd/start.go index 8975cd787b12..7cac99439e2b 100644 --- a/cmd/minikube/cmd/start.go +++ b/cmd/minikube/cmd/start.go @@ -155,7 +155,7 @@ func runStart(cmd *cobra.Command, args []string) { if !config.ProfileNameValid(ClusterFlagValue()) { out.WarningT("Profile name '{{.name}}' is not valid", out.V{"name": ClusterFlagValue()}) - exit.Message(reason.Usage, "Only alphanumeric and dashes '-' are permitted. Minimum 1 character, starting with alphanumeric.") + exit.Message(reason.Usage, "Only alphanumeric and dashes '-' are permitted. Minimum 2 characters, starting with alphanumeric.") } existing, err := config.Load(ClusterFlagValue()) diff --git a/pkg/minikube/config/profile.go b/pkg/minikube/config/profile.go index b5baf5ed4fb8..f7e8c142db1e 100644 --- a/pkg/minikube/config/profile.go +++ b/pkg/minikube/config/profile.go @@ -90,8 +90,8 @@ func ProfileNameValid(name string) bool { const RestrictedNamePattern = `(([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z0-9]|[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9])` var validName = regexp.MustCompile(`^` + RestrictedNamePattern + `$`) - - return validName.MatchString(name) + // length needs to be more than 1 character because docker volume #9366 + return validName.MatchString(name) && len(name) > 1 } // ProfileNameInReservedKeywords checks if the profile is an internal keywords diff --git a/pkg/minikube/config/profile_test.go b/pkg/minikube/config/profile_test.go index ffeb29c3ecdd..89536bceca6b 100644 --- a/pkg/minikube/config/profile_test.go +++ b/pkg/minikube/config/profile_test.go @@ -80,10 +80,11 @@ func TestProfileNameValid(t *testing.T) { "pro-file1": true, "1st-profile": true, "1st-2nd-3rd-profile": true, - "n": true, - "1": true, "12567": true, + "111": true, + "1": false, + "n": false, "pro file": false, "pro-file-": false, "-profile": false,