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

Molecule启动Docker容器时报创建临时目录失败如何解决

故障原因&解决方案

你遇到的是两个独立故障叠加导致的问题,且因为故障都限定在单个角色的局部配置下,全局操作不生效:

1. 解决Molecule跳过创建环节的问题

Molecule单角色的实例状态缓存默认存储在角色自身的molecule工作目录下,你之前清理的全局~/.cache不涉及该局部缓存,执行以下操作清理:

  • 进入对应角色的molecule场景目录,默认路径为角色根目录/molecule/default/
  • 删除局部缓存目录和状态文件:
rm -rf .molecule/
rm -f molecule_state.yml

清理后再执行创建操作就不会再误判实例已存在。

2. 解决Ansible临时目录创建失败的问题

你修改的全局/etc/ansible/ansible.cfg配置被该角色的局部配置覆盖,按以下路径排查:

  • 检查角色根目录下是否存在单独的ansible.cfg文件,确认没有配置错误的remote_tmp参数
  • 检查角色molecule配置文件molecule.yml中的provisioner.config_options段,是否有自定义remote_tmp配置
  • 检查角色vars/目录、defaults/main.yml中是否定义了ansible_remote_tmp变量
    你排查到的目录创建报错,是因为容器内部不存在/home/user目录,且路径解析时携带了多余引号,直接在该角色的molecule.yml中强制指定容器内的临时目录为全局可写的/tmp路径即可解决:
provisioner:
  name: ansible
  config_options:
    defaults:
      remote_tmp: /tmp/.ansible/tmp

完成以上两步后重新执行molecule test即可恢复正常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 13:06:04