Mam skalar YAML, który generuje następujący błąd, gdy próbuję ocenić mój docker-compose.yml
plik:
BŁĄD: Nieprawidłowy format interpolacji dla opcji „środowisko” w usłudze „usługa_czasu”: „$ {Time.now}”
YAML:
---
version: '2'
services:
time_service:
build: "."
environment:
TIME: "${Time.now}"
Jak mogę zachować te same dane wyjściowe w postaci ciągów, co napisane, ale uniknąć interpretowania ich przez docker-compose jako wadliwej interpolacji ciągów?
escaping
docker-compose
Nathan Hanna
źródło
źródło
${}
. Interpretacja jest wykonywanadocker-compose
i jest napisana w Pythonie, więc tag ruby również był nieodpowiedni.Odpowiedzi:
Uderzasz w
docker-compose
zmienną substytucję, która jest dobrze udokumentowana tutaj :docker-compose
jest napisany w Pythonie, jak widać na githubie , mechanizm podwojenia, aby uzyskać oryginalne znaczenie znaków specjalnych, można znaleźć w wielu programach, sam musiałem tego używać podczas programowania, już w 1984 roku.źródło
Znalazłem odpowiedź, kopiując sugestię dotyczącą
%
postaci w tym pościeWymaga podwójnego znaku dolara
$$
.Więc potrzebowałem
"$${Time.now}"
, co ocenia"${Time.now}"
źródło