在我的yaml库存文件中,我有以下片段:
docker_env: {
"SHOPIFY_PAYMENTS": 1,
"SHOPIFY_PROMISE_DATES": 1
}
其定义了dict.
在我的剧本中,我有这样一个:
name: Start django container
docker_container:
image: "{{ image_name }}"
labels: "{{ django_container_labels }}"
...
env: "{{ docker_env }}"
然而,我得到了这个错误:
TASK [Start django container]
fatal: [...growthpath.com.au]: FAILED! => {"changed": false, "msg": "Non-string value found for env option. Ambiguous env options must be wrapped in quotes to avoid them being interpreted. Key: SHOPIFY_PAYMENTS"}
env的文档说:
键、值对的字典">
"标签";作品它有相同的文档。此变量在variables.yml(一个包含的文件(中定义为:
django_container_labels: {
traefik.http.routers.django-api-router.entrypoints: "web_http,web_https",
....
换句话说,我看不出docker_env和django_container_labels之间有任何真正的区别,除了一个有效,另一个无效。
好的。解决方法是这样做,引用值。错误消息比我预期的要精确。
docker_env: {
"SHOPIFY_PAYMENTS": "1",
"SHOPIFY_PROMISE_DATES": "1"
}