为什么 Molecule 无法启动 docker 容器

Ami*_*vic 5 testing unit-testing ansible docker molecule

我正在使用 Molecule 来测试我的 ansible 角色。在重新启动我的服务器之前工作正常。然而,之后,当我跑molecule create

它正在跳过创建过程:跳过,实例已经创建。但是,什么都没有运行:

(myenv)[root]# docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
Run Code Online (Sandbox Code Playgroud)

运行时molecule converge。我收到此错误:

TASK [Gathering Facts] *********************************************************

fatal: [test_instance]: UNREACHABLE! => {"changed": false, "msg": "Authentication or permission failure.
In some cases, you may have been able to authenticate and did not have permissions on the target directory. 

Consider changing the remote tmp path in ansible.cfg to a path rooted in \"/tmp\". Failed command was: 
( umask 77 && mkdir -p \"` echo ~/.ansible/tmp/ansible-tmp-1575033184.79-237504774558686 `\" && echo
ansible-tmp-1575033184.79-237504774558686=\"` echo ~/.ansible/tmp/ansible-tmp-1575033184.79-237504774558686 `\" ), 
exited with result 1", "unreachable": true} 
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法?

Zei*_*tor 3

您的分子实例是在 docker 中创建的,但它们在您重新启动时停止,并且不会自动重新启动。Molecule 将它们视为已创建,但无法访问它们,因为它们未运行。

您有 2 个解决方案来解决此问题。

重新启动已停止的实例

  1. 查找容器的相关名称docker ps -a
  2. 重新启动实例docker start <name>

从头开始

你可以简单地运行molecule destroy [-s scenarion_name]。这将清理剩余的实例,之后您可以从头开始测试。