使用 Molecule 登录 Docker 容器时出错
Error when login to Docker container using Molecule
我有这个分子配置:
---
dependency:
name: galaxy
driver:
name: docker
platforms:
- name: instance1
image: docker.io/pycontribs/centos:8
provisioner:
name: ansible
verifier:
name: ansible
我 运行 molecule converge
它工作正常。现在,我需要登录 instance1
容器。当我 运行 molecule login --host instance1
时,我得到这个错误:
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/env
docker exec -e COLUMNS=108 -e LINES=41 -e TERM=bash -e TERM=xterm -ti
instance1 bash'
发生了什么事?
版本
docker 包:5.0.3
分子:3.6.1
分子-docker: 1.1.0
注意
如果我 运行 出现错误的命令:
/usr/bin/env docker exec -e COLUMNS=108 -e LINES=41 -e TERM=bash -e TERM=xterm -ti instance1 bash
在终端中,它工作正常。
这是分子未正确扩展 shell 参数的已知问题,已在此拉取请求中修复:https://github.com/ansible-community/molecule/pull/3468
我已将此拉取请求修补到我的本地分子实例中,并可以确认它修复了此问题。
我有这个分子配置:
---
dependency:
name: galaxy
driver:
name: docker
platforms:
- name: instance1
image: docker.io/pycontribs/centos:8
provisioner:
name: ansible
verifier:
name: ansible
我 运行 molecule converge
它工作正常。现在,我需要登录 instance1
容器。当我 运行 molecule login --host instance1
时,我得到这个错误:
FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/env docker exec -e COLUMNS=108 -e LINES=41 -e TERM=bash -e TERM=xterm -ti instance1 bash'
发生了什么事?
版本
docker 包:5.0.3
分子:3.6.1
分子-docker: 1.1.0
注意
如果我 运行 出现错误的命令:
/usr/bin/env docker exec -e COLUMNS=108 -e LINES=41 -e TERM=bash -e TERM=xterm -ti instance1 bash
在终端中,它工作正常。
这是分子未正确扩展 shell 参数的已知问题,已在此拉取请求中修复:https://github.com/ansible-community/molecule/pull/3468
我已将此拉取请求修补到我的本地分子实例中,并可以确认它修复了此问题。