Definiowanie wartości logicznej w pliku docker-compose.yml:
environment:
SOME_VAR: true
i prowadzenie docker up
wyników w:
contains true, which is an invalid type, it should be a string, number, or a null
Próby rozwiązania problemu
- Jeśli wartość true zostanie zmieniona na True, problem będzie się powtarzał.
Używanie
'true'
nie jest akceptowana przez samego kodu ( app ramy gra jest uruchamiana za pomocą./target/universal/stage/bin/APPNAME -Dplay.evolutions.db.default.autoApply=
IE albo-Dplay.evolutions.db.default.autoApply=true
czy-Dplay.evolutions.db.default.autoApply=false
parametr):VAR ma typ STRING, a nie BOOLEAN
Użycie
yes
lubno
jako zmiennej powoduje:zawiera true, który jest niepoprawnym typem, powinien być ciągiem, liczbą lub null
Używanie
yes
i używanie skryptu, który przekształcayes
się w prawdziwe dzieła
Dyskusja
Według dokumentów 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
:
Środowisko
Dodaj zmienne środowiskowe. Możesz użyć tablicy lub słownika. Wszelkie wartości logiczne; prawda, fałsz, tak nie, muszą być ujęte w cudzysłowy, aby upewnić się, że nie zostaną przekonwertowane na parser YML na Prawdę lub Fałsz.
Zmienne środowiskowe tylko z kluczem są rozpoznawane na ich wartościach na komputerze, na którym działa Compose, co może być pomocne w przypadku wartości tajnych lub specyficznych dla hosta.
environment: RACK_ENV: development SHOW: 'true' SESSION_SECRET: environment: - RACK_ENV=development - SHOW=true - SESSION_SECRET
Pytanie
Dlaczego nie jest to dozwolone?
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