ファイルを評価しようとすると、次のエラーが発生する YAML スカラーがありますdocker-compose.yml
。
エラー: サービス「time_service」の「environment」オプションの補間形式が無効です: 「${Time.now}」
ヤム:
---
version: '2'
services:
time_service:
build: "."
environment:
TIME: "${Time.now}"
書き込んだとおりの文字列出力を維持しながら、docker-compose がそれを誤った文字列補間として解釈しないようにするにはどうすればよいでしょうか?
ベストアンサー1
$$
構成にリテラルのドル記号が必要な場合は、(二重ドル記号)を使用できます。
変数置換に当たっていますがdocker-compose
、これはよく文書化されていますここ:
$VARIABLE
との両方の構文がサポートされています。や${VARIABLE}
などの拡張シェル スタイルの機能はサポートされていません。${VARIABLE-default}
${VARIABLE/foo/bar}
設定にリテラルなドル記号が必要な場合は、 (二重ドル記号)を使用できます
$$
。これにより、Compose が値を補間することも防止されるため、 を使用すると、$$
Compose で処理したくない環境変数を参照できます。
docker-compose
Pythonで書かれています。ギットハブ特殊文字の本来の意味を取得するための倍増メカニズムは多くのプログラムで見つかりますが、私自身も 1984 年にプログラミング中にこれを使用する必要がありました。