我有一个YAML标量,当我尝试评估我的docker-compose.yml
文件时会抛出以下错误:
错误:“环境”选项的插值格式无效 service“time_service”:“$ {Time.now}”
YAML:
---
version: '2'
services:
time_service:
build: "."
environment:
TIME: "${Time.now}"
如何保持与写入相同的字符串输出,但避免让docker-compose将其解释为错误的字符串插值?
答案 0 :(得分:78)
您正在点击docker-compose
变量替换,该文档记录良好here:
支持
$VARIABLE
和${VARIABLE}
语法。 1}}和${VARIABLE-default}
等扩展的shell样式功能不受支持。当您的配置需要文字美元符号时,您可以使用
${VARIABLE/foo/bar}
(双美元符号)。这也可以防止Compose插值,因此$$
允许您引用不希望由Compose处理的环境变量。
$$
是用Python编写的,正如你在github看到的那样,在许多程序中可以找到获取特殊字符原始含义的加倍机制,我需要自己使用它,同时编程,早在1984年。
答案 1 :(得分:24)