improve error message for volume names that are too short

this improves the error message if a user tries to
create a volume with a single-character name:

Before this change:

    docker volume create --name a
    Error response from daemon: create a: "a" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed

After this change:

    docker volume create --name a
    Error response from daemon: create a: volume name is too short, names should be at least two alphanumeric characters

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
Upstream-commit: 8d5a615045f691536baf8a4cb69e0c505bc1cad2
Component: engine
This commit is contained in:
Sebastiaan van Stijn
2016-08-17 16:40:24 +02:00
parent a410528fcc
commit 1a062ddf1e
2 changed files with 4 additions and 0 deletions
+3
View File
@@ -256,6 +256,9 @@ func (r *Root) Scope() string {
}
func (r *Root) validateName(name string) error {
if len(name) == 1 {
return validationError{fmt.Errorf("volume name is too short, names should be at least two alphanumeric characters")}
}
if !volumeNameRegex.MatchString(name) {
return validationError{fmt.Errorf("%q includes invalid characters for a local volume name, only %q are allowed", name, utils.RestrictedNameChars)}
}
@@ -138,6 +138,7 @@ func TestCreate(t *testing.T) {
func TestValidateName(t *testing.T) {
r := &Root{}
names := map[string]bool{
"x": false,
"/testvol": false,
"thing.d": true,
"hello-world": true,