code: def remove_container(self, container, raise_on_error=True, raise_not_found=False, **kwargs):
          
          try:
              super(DockerClientWrapper, self).remove_container(container, **kwargs)
          except APIError as e:
              exc_info = sys.exc_info()
              if e.response.status_code == 404:
                  if raise_not_found:
                      six.reraise(*exc_info)
              else:
                  self.push_log("Failed to remove container '%s': %s", logging.ERROR, container, e.explanation)
                  if raise_on_error:
                      six.reraise(*exc_info)
docs: Removes a container. For convenience optionally ignores API errors.
  
          :param container: Container name or id.
          :type container: unicode | str
          :param raise_on_error: Errors on stop and removal may result from Docker volume problems, that may not
            affect further actions. Such errors are always logged, but do not raise an exception if this is set to
            ``True``.
          :type raise_on_error: bool
          :param raise_not_found: Whether to raise 404 errors, i.e. that the container to be removed was not
            found. Default is ``False``.
          :type raise_not_found: bool
          :param kwargs: Additional keyword args for :meth:`docker.client.Client.remove_container`.