docker-compose.yml 파일에서 부울 정의 :
environment:
SOME_VAR: true
실행 docker up
결과 :
contains true, which is an invalid type, it should be a string, number, or a null
문제 해결 시도
- true가 True로 변경되면 문제가 지속됩니다.
'true'
코드 자체에서는 사용 이 허용되지 않습니다 ( 플레이 프레임 워크 앱 은./target/universal/stage/bin/APPNAME -Dplay.evolutions.db.default.autoApply=
, 즉 매개 변수-Dplay.evolutions.db.default.autoApply=true
또는-Dplay.evolutions.db.default.autoApply=false
매개 변수를 사용하여 시작됨 ).VAR은 BOOLEAN이 아닌 STRING 유형입니다.
사용
yes
또는no
변수가 결과로 :true를 포함하며, 이는 유효하지 않은 유형이며 문자열, 숫자 또는 널이어야합니다
실제 작업으로
yes
변환하는 스크립트 사용 및 사용yes
토론
문서에 따르면 Any boolean values; true, false, yes no, need to be enclosed in quotes to ensure they are not converted to True or False by the YML parser
:
환경
환경 변수를 추가하십시오. 배열이나 사전을 사용할 수 있습니다. 모든 부울 값; true, false, yes no는 YML 파서에 의해 True 또는 False로 변환되지 않도록 따옴표로 묶어야합니다.
키만있는 환경 변수는 Compose가 실행중인 시스템의 해당 값으로 해석되므로 비밀 또는 호스트 별 값에 도움이 될 수 있습니다.
environment: RACK_ENV: development SHOW: 'true' SESSION_SECRET: environment: - RACK_ENV=development - SHOW=true - SESSION_SECRET
의문
왜 허용되지 않습니까?
DevOps Stack Exchange is a question and answer site for software engineers working on automated testing, continuous delivery, service integration and monitoring, and building SDLC infrastructure