ProgramingTip

Docker Compose 파일에서 $ 달러 기호를 어떻게 이스케이프 할 수 있습니까?

bestdevel 2020. 12. 11. 19:14
반응형

Docker Compose 파일에서 $ 달러 기호를 어떻게 이스케이프 할 수 있습니까?


docker-compose.yml파일 을 평가할 때 다음 오류를 발생시키는 YAML 스칼라가 있습니다.

오류 : "time_service"서비스의 "environment"옵션에 {잘못된 보간 형식 : "$ Time.now}"

YAML :

---
version: '2'
services:
  time_service:
    build: "."
    environment:
      TIME: "${Time.now}"

동일한 것과 동일한 것 같지만 유지하지만 docker-compose가 잘못된 것 같습니까?


여기에docker-compose 잘 문서화되어 있는 변수 대체를 치고 있습니다 .

$VARIABLE${VARIABLE}구문이 모두 지원됩니다. ${VARIABLE-default}과 및 같은 확장 된 셸 스타일 기능 현관 ${VARIABLE/foo/bar}은 지원되지 않습니다.

당신은 사용할 수있는 $$구성이 리터럴 달러 기호를 필요로 할 때 (이중 달러 기호). 또한 Compose가 값을 보간하는 것을 방지하는 것을 사용하면 Compose에서 $$처리하지 않는 환경 변수를 참조 할 수 있습니다.

docker-compose은 Python으로 작성되었습니다. github 에서 볼 수있는 특수 문자의 원래 의미를 두 가지 배의 여러 프로그램에서 사용할 수 있습니다. 1984 년으로 거슬러 올라가 프로그래밍하는 동안 직접 많았습니다.


이 게시물의% 캐릭터에 대한 제안을 복사하여 답을 찾았 습니다.

이중 달러 기호가 필요합니다 $$.

나는 그래서 "$${Time.now}"평가가 필요 했습니다."${Time.now}"

참고 URL : https://stackoverflow.com/questions/40619582/how-can-i-escape-a-dollar-sign-in-a-docker-compose-file

반응형