Closed10
docker-composeでbooleanがうまく扱えないエラー
hoge.args contains true, which is an invalid type, it should be a string, number, or a null
docker-composeのversionを1->2にしたら発生しなくなった。
リンク
YAML boolean values ("true", "false", "yes", "no", "on", "off") must be enclosed in quotes, so that the parser interprets them as strings.
なのでエラーになるのは仕様としてただしそう
v2だとチェックされないbug
yamlにもバージョンがあって、1.1と1.2でboolの扱いがことなる。
docker-composeの1はpython、2はgoで、依存するライブラリが変わっているので挙動が変わっている箇所がある。
docker-composeのサポートしているyamlのバージョンは結局何????
闇が深そうなので、ここらへんで調査終わり。
boolean系のvalueはquoteでくくっておくマナーで良さそう。
docker-composeの1も2も、依存しているyamlのライブラリがyamlの1.2に対応していない。
docker-composeの1は、docker-compose側で一部無理やり対応していて、docker-composeの2ではその対応が入っていない。
闇を抱えた状態なので、おとなしくdocにしたがってquoteでくくっておけば、将来的に↑の仕様bug?bug?が綺麗になっても困らないはず。
このスクラップは2022/03/18にクローズされました