<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def build(self, name: str, force: bool = False, quiet: bool = False ) -> None: """ Constructs a Docker image, given by its name, using the set of build instructions associated with that image. Parameters: name: the name of the Docker image. force: if `True`, the image will be rebuilt, regardless of whether or not it is already installed on the server. If `False` and a (possibly outdated) version of the image has already been built, then the build will be skipped. quiet: used to enable and disable output from the Docker build process. """

        logger.debug("request to build image: %s", name)
        instructions = self[name]

        if instructions.depends_on:
            logger.info("building dependent image: %s",
                        instructions.depends_on)
            self.build(instructions.depends_on, force=force, quiet=quiet)

        if not force and self.is_installed(instructions.name):
            return

        if not quiet:
            logger.info("building image: %s", name)

        context = instructions.abs_context
        tf = os.path.join(context, '.Dockerfile')
        try:
            success = False
            shutil.copy(instructions.filename_abs, tf)
            response = self.__docker.api.build(path=context,
                                               dockerfile='.Dockerfile',
                                               tag=name,
                                               # pull=force,
                                               buildargs=instructions.arguments,
                                               decode=True,
                                               rm=True)

            log = [] # type: List[str]
            for line in response:
                if 'stream' in line:
                    line_msg = line['stream'].rstrip()
                    log.append(line_msg)
                    if not quiet:
                        print(line_msg)
                    if line_msg.startswith('Successfully built'):
                        success = True

            if not success:
                raise ImageBuildFailed(name, log)

            if success and not quiet:
                logger.info("built image: %s", name)
                return
        finally:
            if os.path.exists(tf):
                os.remove(tf)