【发布时间】:2015-12-19 08:27:45
【问题描述】:
我正在使用这样的 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_ENVIRONMENT 在容器内不可用。当我尝试echo $DEPLOYMENT_ENVIRONMENT 或在其他地方使用时。
有什么遗漏吗?
【问题讨论】:
-
你能尝试在 ansible 中显示 var 的内容并取回结果吗? - debug: var= {{ deployment_env }} 你如何设置这个变量?
-
我在清单文件中将其设置为主机变量,如下所示,
ip_address ansible_ssh_private_key_file=key_path ansible_user=username deployment_env=staging -
并且 var 可以在容器的 docker 检查日志中看到,但由于某种原因无法在容器内访问
-
我已经尝试复制你所做的,它对我来说很好。请参阅:
$ docker exec -it 0f65 /bin/bash...root@0f65cf218c2e:/# echo $DEPLOYMENT_ENVIRONMENT...staging您能否发布更多有关如何运行 ansible playbook 以及如何访问容器的详细信息?
标签: variables docker ansible environment-variables