У меня есть скаляр YAML, который выдает следующую ошибку, когда я пытаюсь оценить свой docker-compose.yml
файл:
ОШИБКА: неверный формат интерполяции для параметра «среда» в службе «time_service»: «$ {Time.now}»
YAML:
---
version: '2'
services:
time_service:
build: "."
environment:
TIME: "${Time.now}"
Как я могу сохранить тот же строковый вывод, что и записанный, но не допустить, чтобы docker-compose интерпретировал его как ошибочную интерполяцию строки?
escaping
docker-compose
Натан Ханна
источник
источник
${}
. Интерпретация выполняетсяdocker-compose
и написана на Python, поэтому тег ruby также был неуместным.Ответы:
Вы попадаете в
docker-compose
подстановку переменных, которая хорошо документирована здесь :docker-compose
написан на Python, как вы видите на github , механизм удвоения для получения исходного значения специальных символов можно найти во многих программах, мне пришлось использовать его самому при программировании еще в 1984 году.источник
Нашел ответ, скопировав предложение для
%
персонажей в этом сообщенииТребуется двойной знак доллара
$$
.Итак, мне нужно
"$${Time.now}"
, что оценивается как"${Time.now}"
источник