docs: function() {
  
      // Automatically return true if we are in the GUI and on linux because
      // this requires SUDO and because the daemon should always be running on nix
      if (mode === 'gui' && process.platform === 'linux') {
        return Promise.resolve(true);
      }
  
      // Automatically return if we are on Windows or Darwin because we don't
      // ever want to automatically turn the VM off since users might be using
      // D4M/W for other things.
      //
      // For now we will be shutting down any services via relevant event hooks
      // that bind to critical/common ports on 127.0.0.1/localhost e.g. 80/443/53
      //
      // @todo: When/if we can run our own isolated docker daemon we can change
      // this back.
      if (process.platform === 'win32' || process.platform === 'darwin') {
        return Promise.resolve(true);
      }
  
      // Get provider status.
      return isUp()
  
      // Shut provider down if its status is running.
      .then(function(isUp) {
        if (isUp) {
          // Retry to shutdown if an error occurs.
          return serviceCmd(['stop'], {mode: 'collect'});
        }
      })
  
      // Wrap errors.
      .catch(function(err) {
        throw new VError(err, 'Error while shutting down.');
      });
  
    }