You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

运行molecule create命令时出现KeyError: 'docker'错误求助

Molecule配置Docker驱动时出现KeyError: 'docker'问题

问题描述

作为Molecule新手,修改了molecule文件夹下的molecule.yml配置文件,内容如下:

---
dependency:
  name: galaxy
driver:
  name: docker
lint:
  name: yamllint
platforms:
  - name: instance
    image: centos:7
    pre_build_image: true
provisioner:
  name: ansible
verifier:
  name: ansible

在Mac和Ubuntu系统中重新部署Molecule后,运行molecule create命令仍出现相同错误,错误栈如下:

Traceback (most recent call last):
  File "/usr/local/bin/molecule", line 8, in <module>
    sys.exit(main())
  File "/usr/lib/python3/dist-packages/click/core.py", line 1128, in __call__
    return self.main(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1053, in main
    rv = self.invoke(ctx)
  File "/usr/lib/python3/dist-packages/click/core.py", line 1659, in invoke
    return _process_result(sub_ctx.command.invoke(sub_ctx))
  File "/usr/lib/python3/dist-packages/click/core.py", line 1395, in invoke
    return ctx.invoke(self.callback, **ctx.params)
  File "/usr/lib/python3/dist-packages/click/core.py", line 754, in invoke
    return __callback(*args, **kwargs)
  File "/usr/lib/python3/dist-packages/click/decorators.py", line 26, in new_func
    return f(get_current_context(), *args, **kwargs)
  File "/usr/local/lib/python3.10/dist-packages/molecule/command/reset.py", line 46, in reset
    base.execute_cmdline_scenarios(scenario_name, args, command_args)
  File "/usr/local/lib/python3.10/dist-packages/molecule/command/base.py", line 94, in execute_cmdline_scenarios
    get_configs(args, command_args, ansible_args, glob_str),
  File "/usr/local/lib/python3.10/dist-packages/molecule/command/base.py", line 185, in get_configs
    configs = [
  File "/usr/local/lib/python3.10/dist-packages/molecule/command/base.py", line 186, in <listcomp>
    config.Config(
  File "/usr/local/lib/python3.10/dist-packages/molecule/config.py", line 64, in __call__
    obj.after_init()
  File "/usr/local/lib/python3.10/dist-packages/molecule/config.py", line 116, in after_init
    self.config = self._reget_config()
  File "/usr/local/lib/python3.10/dist-packages/molecule/config.py", line 308, in _reget_config
    env = util.merge_dicts(os.environ, self.env)
  File "/usr/local/lib/python3.10/dist-packages/molecule/config.py", line 201, in env
    "MOLECULE_INSTANCE_CONFIG": self.driver.instance_config,
  File "/usr/lib/python3.10/functools.py", line 981, in __get__
    val = self.func(instance)
  File "/usr/local/lib/python3.10/dist-packages/molecule/config.py", line 185, in driver
    driver = api.drivers(config=self)[driver_name]
  File "/usr/local/lib/python3.10/dist-packages/molecule/api.py", line 29, in __getitem__
    return self.__dict__[i]
KeyError: 'docker'

解决方案

这个错误的核心原因是Molecule的Docker驱动未安装——Molecule核心包不包含Docker驱动,需要单独安装对应的插件:

  • 安装Molecule Docker驱动
    执行以下命令安装:

    pip install molecule-docker
    

    如果使用Python虚拟环境,请确保在对应的虚拟环境中执行该命令。

  • 验证驱动安装
    安装完成后,运行以下命令查看已安装的驱动:

    molecule drivers
    

    输出中应包含docker,说明驱动已成功加载。

  • 重新运行命令
    回到Molecule项目目录,再次执行:

    molecule create
    

    此时应该可以正常创建Docker实例。

补充说明

如果使用pipx安装Molecule,需要用pipx inject命令添加驱动:

pipx inject molecule molecule-docker

同时确保系统中已安装并运行Docker服务,否则即使驱动安装成功,也会出现其他连接错误。

内容的提问来源于stack exchange,提问作者Eric27710

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 19:04:54