Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Variables ansible docker环境变量在容器中不可用_Variables_Docker_Ansible_Environment Variables - Fatal编程技术网

Variables ansible docker环境变量在容器中不可用

Variables ansible docker环境变量在容器中不可用,variables,docker,ansible,environment-variables,Variables,Docker,Ansible,Environment Variables,我正在用ansible启动docker容器,如下所示: name: start the new shiny container docker: name: web image: pneuma/web state: started detach: True ports: - "80:80" volumes: - /data/db:/var/lib/postgresql - /data/log:/var/log/postgresql env:

我正在用ansible启动docker容器,如下所示:

name: start the new shiny container
docker:
  name: web
  image: pneuma/web
  state: started
  detach: True
  ports:
    - "80:80"
  volumes:
    - /data/db:/var/lib/postgresql
    - /data/log:/var/log/postgresql
  env:
    DEPLOYMENT_ENVIRONMENT: "{{ deployment_env }}"
但是var
DEPLOYMENT\u环境
在容器中不可用。当我尝试
echo$DEPLOYMENT\u环境
或在其他地方使用时


缺少什么?

在ansible 2.7.9中,您可以在docker容器中设置环境(开发、暂存、生产)(仅限开发)

执行如下命令:

$ ansible-playbook -e "ENV=staging" main.yml

您能否尝试在ansible中显示var的内容并返回结果调试:var={{deployment\u env}}如何设置该变量?我在清单文件中将其设置为主机var,如下所示,
ip\u address ansible\u ssh\u private\u key\u file=key\u path ansible\u user=username deployment\u env=staging
,可以在docker检查容器的日志中看到该变量,但由于某种原因,无法进入集装箱内。我试着复制你所做的,对我来说效果很好。请参阅:
$docker exec-it 0f65/bin/bash
<代码>root@0f65cf218c2e:/#echo$DEPLOYMENT_环境
staging
您能否发布更多关于如何运行ansible playbook以及如何访问容器的详细信息?
$ ansible-playbook -e "ENV=staging" main.yml