diff --git a/runtime.go b/runtime.go index 1eaa11c184..10ab7a249f 100644 --- a/runtime.go +++ b/runtime.go @@ -265,7 +265,10 @@ func (runtime *Runtime) restore() error { // Any containers that are left over do not exist in the graph for _, container := range containers { // Try to set the default name for a container if it exists prior to links - name := generateRandomName(runtime) + name, err := generateRandomName(runtime) + if err != nil { + container.Name = container.ShortID() + } container.Name = name if _, err := runtime.containerGraph.Set(name, container.ID); err != nil { @@ -356,7 +359,10 @@ func (runtime *Runtime) Create(config *Config, name string) (*Container, []strin id := GenerateID() if name == "" { - name = generateRandomName(runtime) + name, err = generateRandomName(runtime) + if err != nil { + name = utils.TruncateID(id) + } } if name[0] != '/' { name = "/" + name diff --git a/utils.go b/utils.go index 8043b16d47..c71c95ba32 100644 --- a/utils.go +++ b/utils.go @@ -304,10 +304,6 @@ func (c *checker) Exists(name string) bool { } // Generate a random and unique name -func generateRandomName(runtime *Runtime) string { - n, err := namesgenerator.GenerateRandomName(&checker{runtime}) - if err != nil { - panic(err) - } - return n +func generateRandomName(runtime *Runtime) (string, error) { + return namesgenerator.GenerateRandomName(&checker{runtime}) }