code: func (daemon *Daemon) Register(c *container.Container) error {
  	// Attach to stdout and stderr
  	if c.Config.OpenStdin {
  		c.StreamConfig.NewInputPipes()
  	} else {
  		c.StreamConfig.NewNopInputPipe()
  	}
  
  	// once in the memory store it is visible to other goroutines
  	// grab a Lock until it has been checkpointed to avoid races
  	c.Lock()
  	defer c.Unlock()
  
  	daemon.containers.Add(c.ID, c)
  	daemon.idIndex.Add(c.ID)
  	return c.CheckpointTo(daemon.containersReplica)
  }
docs: // Register makes a container object usable by the daemon as <container.ID>