一个或多个未定义的变量:'dict object'没有属性'SSH_AUTH_SOCK'

时间:2016-11-29 14:52:05

标签: docker ansible ansible-playbook

我正在尝试使用ansible在主机上的docker容器中挂载变量$ SSH_AUTH_SOCK的值。我正在使用ansible的shell模块。

shell: >
docker run -d
--name ****
-p ****:***
-h ****:****
-v {{ ansible_env.SSH_AUTH_SOCK }}:/ssh_auth.sock
<image name> /bin/bash /root/abc.sh

但它抛出了错误

  

一个或多个未定义的变量:'dict object'没有属性'SSH_AUTH_SOCK'

我尝试通过使用ansible -i inventory -m setup localhost提取setup模块的json并尝试使用

打印变量来调试此方法
  

debug module debug:msg =“System has uuid {{ansible_env.AUTH_SOCK}}”

并显示相同的错误。

  

一个或多个未定义的变量:'dict object'没有属性   'SSH_AUTH_SOCK'

我正在附上下面的json片段:

"ansible_env": {
            "HOME": "/home/vagrant",
            "LANG": "en_US.UTF-8",
            "LC_CTYPE": "en_US.UTF-8",
            "LESSCLOSE": "/usr/bin/lesspipe %s %s",
            "LESSOPEN": "| /usr/bin/lesspipe %s",
            "LOGNAME": "vagrant",
            "LS_COLORS": "*****",
            "MAIL": "/var/mail/vagrant",
            "OLDPWD": "*****",
            "PATH": "****",
            "PWD": "/home/vagrant/deploy/vagrant/ansible",
            "SHELL": "/bin/bash",
            "SHLVL": "1",
            "SSH_AUTH_SOCK": "/tmp/ssh-syce2sxVuO/agent.17243",
            "SSH_CLIENT": "10.0.2.2 53762 22",
            "SSH_CONNECTION": "10.0.2.2 53762 10.0.2.15 22",
            "SSH_TTY": "/dev/pts/0",
            "TERM": "xterm",
            "USER": "vagrant",
            "XDG_RUNTIME_DIR": "/run/user/1000",
            "XDG_SESSION_ID": "5",
            "_": "/usr/local/bin/ansible"
        },

我可以访问 ansible_env.HOME ansible_env.SHLVL 的值,但是 ansible_env.SSH_AUTH_SOCK 的值可以 ansible_env.SSH_TTY 无法访问,并且正在抛出错误

  

一个或多个未定义的变量:'dict object'没有属性   

有什么想法吗?

0 个答案:

没有答案