Exemplo n.º 1
0
func addHooks(c *container.Container, spec *specs.Spec) error {
	prestart, err := loadHooks(prestartDir)
	if err != nil {
		return err
	}

	poststart, err := loadHooks(poststartDir)
	if err != nil {
		return err
	}

	poststop, err := loadHooks(poststopDir)
	if err != nil {
		return err
	}

	configPath, err := c.ConfigPath()
	if err != nil {
		return errors.Wrap(err, "config path")
	}

	hostConfigPath, err := c.HostConfigPath()
	if err != nil {
		return errors.Wrap(err, "host config path")
	}

	spec.Hooks.Prestart = appendHooksForContainer(configPath, hostConfigPath, c, prestart)
	spec.Hooks.Poststart = appendHooksForContainer(configPath, hostConfigPath, c, poststart)
	spec.Hooks.Poststop = appendHooksForContainer(configPath, hostConfigPath, c, poststop)

	return nil
}