Molecule 5.0.0 Docker驱动安装与运行故障求助
Molecule 5.0.0 CI/CD管道迁移问题解决方案
安装问题说明与验证
Molecule 5.x版本彻底重构了驱动管理机制,将所有驱动从核心包中拆分独立发布,因此原有的pip install molecule[docker]扩展安装方式被移除。你改用pip install molecule-docker的操作是完全正确的,后续如果需要其他驱动(如Podman),需安装对应的独立包(如molecule-podman)。
安装完成后可通过以下命令验证驱动是否正常加载:
molecule drivers
输出中能看到docker驱动即说明安装有效。
driver.json缺失报错解决方案
这个问题源于Molecule 5.x不再自动生成或依赖外部driver.json文件,而你的配置仍沿用4.x的默认逻辑。解决方式有两种:
方式1:手动创建driver.json文件
在你的Molecule场景目录(通常是scenarios/default/)下创建driver.json,内容至少包含驱动名称:
{ "name": "docker" }
如果需要额外驱动参数,也可在此文件中添加。
方式2:直接在molecule.yml内联驱动配置
更推荐的方式是将驱动配置直接写入molecule.yml,完全摒弃外部配置文件依赖,示例配置如下:
driver: name: docker # 可添加自定义驱动参数,根据需求调整 options: managed: true login_cmd_template: "docker exec -ti {instance} bash" ansible_connection_options: ansible_connection: docker
修改后重新执行molecule test即可正常运行。
关键迁移要点总结
- 驱动独立安装:所有第三方驱动需单独安装
molecule-<driver-name>包,不再支持核心包扩展安装 - 配置文件简化:驱动配置优先内联到
molecule.yml,避免依赖外部driver.json - 兼容性检查:确保CI/CD环境中的Ansible、ansible-lint等工具版本与Molecule 5.x兼容(建议使用最新稳定版)
内容的提问来源于stack exchange,提问作者TRW
相关产品推荐
相关产品推荐

