code: func (d *Daemon) initHealthMonitor(c *container.Container) {
  	// If no healthcheck is setup then don't init the monitor
  	if getProbe(c) == nil {
  		return
  	}
  
  	// This is needed in case we're auto-restarting
  	d.stopHealthchecks(c)
  
  	if h := c.State.Health; h != nil {
  		h.SetStatus(types.Starting)
  		h.FailingStreak = 0
  	} else {
  		h := &container.Health{}
  		h.SetStatus(types.Starting)
  		c.State.Health = h
  	}
  
  	d.updateHealthMonitor(c)
  }
docs: // Reset the health state for a newly-started, restarted or restored container.
  // initHealthMonitor is called from monitor.go and we should never be running
  // two instances at once.
  // Called with c locked.