Variables ansible docker环境变量在容器中不可用
我正在用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:
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 }}"
但是varDEPLOYMENT\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