J'ai un scalaire YAML qui lance l'erreur suivante lorsque j'essaye d'évaluer mon docker-compose.yml
fichier:
ERREUR: format d'interpolation non valide pour l'option "environnement" du service "time_service": "$ {Time.now}"
YAML:
---
version: '2'
services:
time_service:
build: "."
environment:
TIME: "${Time.now}"
Comment puis-je conserver la même sortie de chaîne que celle écrite, mais éviter que le docker-compose l'interprète comme une interpolation de chaîne défectueuse?
escaping
docker-compose
Nathan Hanna
la source
la source
${}
. L'interprétation est faite pardocker-compose
et est écrite en Python, donc la balise ruby était également inappropriée.Réponses:
Vous
docker-compose
frappez la sous-station variable, qui est bien documentée ici :docker-compose
est écrit en Python, comme vous le voyez sur github , le mécanisme de doublement pour obtenir la signification originale des caractères spéciaux peut être trouvé dans de nombreux programmes, j'avais besoin de l'utiliser moi-même, lors de la programmation, dès 1984.la source
J'ai trouvé la réponse en copiant la suggestion de
%
caractères dans cet articleCela nécessite un double signe dollar
$$
.J'avais donc besoin
"$${Time.now}"
, qui évalue à"${Time.now}"
la source