12345678910111213141516171819202122232425262728293031323334 |
- package daemon
- import (
- "github.com/docker/docker/engine"
- )
- func (daemon *Daemon) ContainerRename(job *engine.Job) engine.Status {
- if len(job.Args) != 2 {
- return job.Errorf("usage: %s OLD_NAME NEW_NAME", job.Name)
- }
- oldName := job.Args[0]
- newName := job.Args[1]
- container := daemon.Get(oldName)
- if container == nil {
- return job.Errorf("No such container: %s", oldName)
- }
- oldName = container.Name
- container.Lock()
- defer container.Unlock()
- if _, err := daemon.reserveName(container.ID, newName); err != nil {
- return job.Errorf("Error when allocating new name: %s", err)
- }
- container.Name = newName
- if err := daemon.containerGraph.Delete(oldName); err != nil {
- return job.Errorf("Failed to delete container %q: %v", oldName, err)
- }
- return engine.StatusOK
- }
|