Eu tenho um escalar YAML que está gerando o seguinte erro quando tento avaliar meu docker-compose.yml
arquivo:
ERRO: Formato de interpolação inválido para a opção "ambiente" no serviço "time_service": "$ {Time.now}"
YAML:
---
version: '2'
services:
time_service:
build: "."
environment:
TIME: "${Time.now}"
Como posso manter a mesma saída de string como escrita, mas evitar que o docker-compose a interprete como uma interpolação de string com defeito?
escaping
docker-compose
Nathan Hanna
fonte
fonte
${}
. A interpretação é feita pordocker-compose
e escrita em Python, então a tag ruby também era inadequada.Respostas:
Você está atingindo a
docker-compose
substituição variável, que está bem documentada aqui :docker-compose
é escrito em Python, como você pode ver no github , o mecanismo de duplicação para obter o significado original de caracteres especiais pode ser encontrado em muitos programas, eu mesmo precisei usar isso, enquanto programava, já em 1984.fonte
Encontrou a resposta copiando a sugestão de
%
personagens desta postagemRequer um cifrão duplo
$$
.Então eu precisava
"$${Time.now}"
, o que avalia"${Time.now}"
fonte