code: func (e *Engine) ImageBuild(ctx context.Context, input io.Reader, refs []string) (io.ReadCloser, error) {
  	authConfigs := map[string]dockertypes.AuthConfig{}
  	for domain, conf := range e.config.Docker.AuthConfigs {
  		b64auth, err := encodeAuthToBase64(conf)
  		if err != nil {
  			return nil, err
  		}
  		if _, ok := authConfigs[domain]; !ok {
  			authConfigs[domain] = dockertypes.AuthConfig{
  				Username: conf.Username,
  				Password: conf.Password,
  				Auth:     b64auth,
  			}
  		}
  	}
  	buildOptions := dockertypes.ImageBuildOptions{
  		Tags:           refs,
  		SuppressOutput: false,
  		NoCache:        true,
  		Remove:         true,
  		ForceRemove:    true,
  		PullParent:     true,
  		AuthConfigs:    authConfigs,
  	}
  	resp, err := e.client.ImageBuild(ctx, input, buildOptions)
  	if err != nil {
  		return nil, err
  	}
  	return resp.Body, nil
  }
docs: // ImageBuild build image