Ich habe einen YAML-Skalar, der beim Versuch, meine docker-compose.yml
Datei auszuwerten, den folgenden Fehler auslöst:
FEHLER: Ungültiges Interpolationsformat für die Option "Umgebung" im Dienst "time_service": "$ {Time.now}"
YAML:
---
version: '2'
services:
time_service:
build: "."
environment:
TIME: "${Time.now}"
Wie kann ich die gleiche Zeichenfolgenausgabe wie geschrieben beibehalten, aber vermeiden, dass der Docker-Compose sie als fehlerhafte Zeichenfolgeninterpolation interpretiert?
escaping
docker-compose
Nathan Hanna
quelle
quelle
${}
. Das Dolmetschen erfolgt durchdocker-compose
und das ist in Python geschrieben, daher war das Tag Ruby ebenfalls unangemessen.Antworten:
Sie treffen auf die
docker-compose
variable Substitution, die hier gut dokumentiert ist :docker-compose
ist in Python geschrieben, wie Sie auf Github sehen , der Verdopplungsmechanismus, um die ursprüngliche Bedeutung von Sonderzeichen zu erhalten, ist in vielen Programmen zu finden. Ich musste ihn bereits 1984 beim Programmieren selbst verwenden.quelle
Finden Sie die Antwort, indem Sie den Vorschlag für
%
Zeichen in diesem Beitrag kopierenEs erfordert ein doppeltes Dollarzeichen
$$
.Also brauchte ich
"$${Time.now}"
, was auswertet"${Time.now}"
quelle