# Buggy code
def resolve(self, enabled_container_types, tool_info, **kwds):
    if (
        tool_info.requires_galaxy_python_environment
        or self.container_type not in enabled_container_types
    ):
        return None

    targets = mulled_targets(tool_info)
    resolution_cache = kwds.get("resolution_cache")
    return docker_cached_container_description(
        targets,
        self.namespace,
        hash_func=self.hash_func,
        shell=self.shell,
        resolution_cache=resolution_cache,
    )


# Traceback (FileNotFoundError)
urllib3.connectionpool DEBUG 2021-01-13 15:26:00,421 https://quay.io:443 "GET /api/v1/repository/biocontainers/porechop HTTP/1.1" 200 4033
galaxy.tool_util.deps.containers ERROR 2021-01-13 15:26:00,499 Could not get container description for tool 'toolshed.g2.bx.psu.edu/repos/iuc/porechop/porechop/0.2.3'
Traceback (most recent call last):
File "/galaxy/server/lib/galaxy/tool_util/deps/containers.py", line 243, in find_best_container_description
resolved_container_description = self.resolve(enabled_container_types, tool_info, **kwds)
File "/galaxy/server/lib/galaxy/tool_util/deps/containers.py", line 265, in resolve
container_description = container_resolver.resolve(enabled_container_types, tool_info, install=install, resolution_cache=resolution_cache, session=session)
File "/galaxy/server/lib/galaxy/tool_util/deps/container_resolvers/mulled.py", line 410, in resolve
if install and not self.cached_container_description(
File "/galaxy/server/lib/galaxy/tool_util/deps/container_resolvers/mulled.py", line 385, in cached_container_description
return docker_cached_container_description(targets, namespace, hash_func, resolution_cache)
File "/galaxy/server/lib/galaxy/tool_util/deps/container_resolvers/mulled.py", line 202, in docker_cached_container_description
cached_images = list_docker_cached_mulled_images(namespace, hash_func=hash_func, resolution_cache=resolution_cache)
File "/galaxy/server/lib/galaxy/tool_util/deps/container_resolvers/mulled.py", line 71, in list_docker_cached_mulled_images
images_and_versions = unicodify(subprocess.check_output(command)).strip().splitlines()
File "/usr/lib/python3.8/subprocess.py", line 411, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
File "/usr/lib/python3.8/subprocess.py", line 489, in run
with Popen(*popenargs, **kwargs) as process:
File "/usr/lib/python3.8/subprocess.py", line 854, in __init__
self._execute_child(args, executable, preexec_fn, close_fds,
File "/usr/lib/python3.8/subprocess.py", line 1702, in _execute_child
raise child_exception_type(errno_num, err_msg, err_filename)
FileNotFoundError: [Errno 2] No such file or directory: 'docker'

# Fixed code
def resolve(self, enabled_container_types, tool_info, **kwds):
    if (
        not self.docker_cli_available
        or tool_info.requires_galaxy_python_environment
        or self.container_type not in enabled_container_types
    ):
        return None

    targets = mulled_targets(tool_info)
    resolution_cache = kwds.get("resolution_cache")
    return docker_cached_container_description(
        targets,
        self.namespace,
        hash_func=self.hash_func,
        shell=self.shell,
        resolution_cache=resolution_cache,
    )